From 97438624e1ca2bf76c5883d06fb4b7121a03bac4 Mon Sep 17 00:00:00 2001 From: Christopher Neugebauer Date: Fri, 8 Apr 2016 19:41:55 +1000 Subject: [PATCH] Makes the guided registration stay on the front page if an incorrect voucher is added but a valid profile is filled out. Resolves #9 --- registrasion/views.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/registrasion/views.py b/registrasion/views.py index 155d1aed..1b0fe646 100644 --- a/registrasion/views.py +++ b/registrasion/views.py @@ -53,6 +53,8 @@ def guided_registration(request, page_id=0): ''' SESSION_KEY = "guided_registration_categories" + ASK_FOR_PROFILE = 777 # Magic number. Meh. + next_step = redirect("guided_registration") sections = [] @@ -72,9 +74,19 @@ def guided_registration(request, page_id=0): except ObjectDoesNotExist: profile = None - if not profile: - # TODO: if voucherform is invalid, make sure - # that profileform does not save + # Figure out if we need to show the profile form and the voucher form + show_profile_and_voucher = False + if SESSION_KEY not in request.session: + if not profile: + show_profile_and_voucher = True + else: + if request.session[SESSION_KEY] == ASK_FOR_PROFILE: + show_profile_and_voucher = True + + if show_profile_and_voucher: + # Keep asking for the profile until everything passes. + request.session[SESSION_KEY] = ASK_FOR_PROFILE + voucher_form, voucher_handled = handle_voucher(request, "voucher") profile_form, profile_handled = handle_profile(request, "profile")