Skip to content
Snippets Groups Projects
Commit 9113fe22 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Invalidate voucher and fix creation of user and person

parent 843abf64
No related branches found
No related tags found
1 merge request!1Reformat and cleanup
Pipeline #55884 failed
...@@ -256,7 +256,7 @@ class RegisterEventContactDetails(ExtensibleForm): ...@@ -256,7 +256,7 @@ class RegisterEventContactDetails(ExtensibleForm):
Fieldset( Fieldset(
_("Personal data"), _("Personal data"),
Row("first_name", "additional_name", "last_name"), Row("first_name", "additional_name", "last_name"),
Row("date_of_birth", "sex"), Row("date_of_birth", "place_of_birth", "sex"),
), ),
Fieldset( Fieldset(
_("Address data"), _("Address data"),
...@@ -265,7 +265,7 @@ class RegisterEventContactDetails(ExtensibleForm): ...@@ -265,7 +265,7 @@ class RegisterEventContactDetails(ExtensibleForm):
), ),
Fieldset( Fieldset(
_("Contact details"), _("Contact details"),
Row("mobile_number", "email"), Row("mobile_number", "phone_number", "email"),
), ),
Fieldset( Fieldset(
_("School details"), _("School details"),
...@@ -282,6 +282,7 @@ class RegisterEventContactDetails(ExtensibleForm): ...@@ -282,6 +282,7 @@ class RegisterEventContactDetails(ExtensibleForm):
label=_("Additional names"), label=_("Additional names"),
help_text=_("Please enter any additional names."), help_text=_("Please enter any additional names."),
required=False, required=False,
disabled=True,
) )
last_name = forms.CharField( last_name = forms.CharField(
...@@ -315,10 +316,20 @@ class RegisterEventContactDetails(ExtensibleForm): ...@@ -315,10 +316,20 @@ class RegisterEventContactDetails(ExtensibleForm):
), ),
) )
phone_number = PhoneNumberField(
label=_("Phone number"),
required=False,
)
date_of_birth = forms.DateField( date_of_birth = forms.DateField(
label=_("Date of birth"), label=_("Date of birth"),
) )
place_of_birth = forms.CharField(
label=_("Place of birth"),
required=False,
)
sex = forms.ChoiceField( sex = forms.ChoiceField(
label=_("Sex"), label=_("Sex"),
help_text=_( help_text=_(
...@@ -378,7 +389,8 @@ class RegisterEventAdditional(ExtensibleForm): ...@@ -378,7 +389,8 @@ class RegisterEventAdditional(ExtensibleForm):
for field in event.linked_group.additional_fields.all(): for field in event.linked_group.additional_fields.all():
field_instance = getattr(fields, field.field_type)( field_instance = getattr(fields, field.field_type)(
required=False, required=field.required,
help_text=field.help_text,
) )
self.fields[field.title] = field_instance self.fields[field.title] = field_instance
node = Fieldset(f"{field.title}", f"{field.title}") node = Fieldset(f"{field.title}", f"{field.title}")
......
...@@ -495,7 +495,7 @@ class RegisterEventWizardView(SessionWizardView): ...@@ -495,7 +495,7 @@ class RegisterEventWizardView(SessionWizardView):
event = Event.objects.get(id=self.kwargs["pk"]) event = Event.objects.get(id=self.kwargs["pk"])
cleaned_data_email = self.get_cleaned_data_for_step("email") cleaned_data_email = self.get_cleaned_data_for_step("email")
cleaned_data_contact_details = self.get_cleaned_data_for_step("cotact_details") cleaned_data_contact_details = self.get_cleaned_data_for_step("contact_details")
cleaned_data_guardians = self.get_cleaned_data_for_step("guardians") cleaned_data_guardians = self.get_cleaned_data_for_step("guardians")
cleaned_data_register = self.get_cleaned_data_for_step("register") cleaned_data_register = self.get_cleaned_data_for_step("register")
cleaned_data_additional = self.get_cleaned_data_for_step("additional") cleaned_data_additional = self.get_cleaned_data_for_step("additional")
...@@ -517,33 +517,26 @@ class RegisterEventWizardView(SessionWizardView): ...@@ -517,33 +517,26 @@ class RegisterEventWizardView(SessionWizardView):
) )
user.set_password(cleaned_data_register["password1"]) user.set_password(cleaned_data_register["password1"])
user.save() user.save()
else:
# Create Person user = self.request.user
person = Person.objects.create(
user=user, person = Person.objects.get_or_create(
email=cleaned_data_contact_details["email"], user=user,
short_name=cleaned_data_contact_details["short_name"], defaults={
first_name=cleaned_data_contact_details["first_name"], "email": cleaned_data_contact_details["email"],
additional_name=cleaned_data_contact_details["additional_name"], "first_name": cleaned_data_contact_details["first_name"],
last_name=cleaned_data_contact_details["last_name"], "additional_name": cleaned_data_contact_details["additional_name"],
street=cleaned_data_contact_details["street"], "last_name": cleaned_data_contact_details["last_name"],
housenumber=cleaned_data_contact_details["housenumber"], "phone_number": cleaned_data_contact_details["phone_number"],
postal_code=cleaned_data_contact_details["postal_code"], "place_of_birth": cleaned_data_contact_details["place_of_birth"],
place=cleaned_data_contact_details["place"], }
mobile_number=cleaned_data_contact_details["mobile_number"], )
phone_number=cleaned_data_contact_details["phone_number"],
date_of_birth=cleaned_data_contact_details["date_of_birth"],
place_of_birth=cleaned_data_contact_details["place_of_birth"],
sex=cleaned_data_contact_details["sex"],
photo=cleaned_data_contact_details["photo"],
description=cleaned_data_contact_details["description"],
)
if ( if (
"school" in cleaned_data_contact_details "school" in cleaned_data_contact_details
or "school_class" in cleaned_data_contact_details or "school_class" in cleaned_data_contact_details
or "school_place" in cleaned_data_contact_details or "school_place" in cleaned_data_contact_details
or "mobile" in cleaned_data_contact_details or "mobile_number" in cleaned_data_contact_details
or "sex" in cleaned_data_contact_details or "sex" in cleaned_data_contact_details
or "date_of_birth" in cleaned_data_contact_details or "date_of_birth" in cleaned_data_contact_details
): ):
...@@ -567,6 +560,7 @@ class RegisterEventWizardView(SessionWizardView): ...@@ -567,6 +560,7 @@ class RegisterEventWizardView(SessionWizardView):
person.street = cleaned_data_contact_details["street"] person.street = cleaned_data_contact_details["street"]
person.postal_code = cleaned_data_contact_details["postal_code"] person.postal_code = cleaned_data_contact_details["postal_code"]
person.place = cleaned_data_contact_details["place"] person.place = cleaned_data_contact_details["place"]
person.housenumber = cleaned_data_contact_details["housenumber"],
person.save() person.save()
...@@ -615,10 +609,13 @@ class RegisterEventWizardView(SessionWizardView): ...@@ -615,10 +609,13 @@ class RegisterEventWizardView(SessionWizardView):
registration.save() registration.save()
if cleaned_data_financial["voucher_code"] != "": if cleaned_data_financial["voucher_code"] != "":
voucher = Voucher.objects.get(code=cleaned_data_financial["voucher_code"]) vouchers = Voucher.objects.filter(person=person, event=event, used=False, code=cleaned_data_financial["voucher_code"])
if voucher: if vouchers:
voucher = vouchers.first()
registration.voucher = voucher registration.voucher = voucher
voucher.used = True
with reversion.create_revision(): with reversion.create_revision():
voucher.save()
registration.save() registration.save()
else: else:
messages.error(self.request, _("You entered an invalid voucher code!")) messages.error(self.request, _("You entered an invalid voucher code!"))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment