change birthdate only if user didn't have it previously

This commit is contained in:
imperosol
2025-09-03 11:50:01 +02:00
parent 3709b5c221
commit 3ad40b7383

View File

@@ -158,9 +158,11 @@ class SubscriptionExistingUserForm(SubscriptionForm):
self.fields["birthdate"].required = True self.fields["birthdate"].required = True
if not initial: if not initial:
return return
member = initial.get("member") member: str | None = initial.get("member")
if member: if member and member.isdigit():
member = User.objects.filter(id=member).first() member: User | None = User.objects.filter(id=int(member)).first()
else:
member = None
if member and member.date_of_birth: if member and member.date_of_birth:
# if there is an initial member with a birthdate, # if there is an initial member with a birthdate,
# there is no need to ask this to the user # there is no need to ask this to the user
@@ -178,7 +180,7 @@ class SubscriptionExistingUserForm(SubscriptionForm):
return super().save(*args, **kwargs) return super().save(*args, **kwargs)
if ( if (
self.cleaned_data["birthdate"] is not None self.cleaned_data["birthdate"] is not None
and self.instance.member.date_of_birth != self.cleaned_data["birthdate"] and self.instance.member.date_of_birth is None
): ):
self.instance.member.date_of_birth = self.cleaned_data["birthdate"] self.instance.member.date_of_birth = self.cleaned_data["birthdate"]
self.instance.member.save() self.instance.member.save()