From e13dd094af3f812300a4b93e497b7fbbf2c4f88f Mon Sep 17 00:00:00 2001 From: Diana Huang Date: Fri, 27 Sep 2013 11:32:15 -0400 Subject: [PATCH] Add an upgrade parameter to the verification views. --- common/djangoapps/course_modes/views.py | 10 +++++++--- lms/djangoapps/verify_student/views.py | 10 +++++++++- lms/templates/verify_student/show_requirements.html | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/common/djangoapps/course_modes/views.py b/common/djangoapps/course_modes/views.py index e247ac08a2..84e6f65785 100644 --- a/common/djangoapps/course_modes/views.py +++ b/common/djangoapps/course_modes/views.py @@ -38,6 +38,8 @@ class ChooseModeView(View): return redirect(reverse('dashboard')) modes = CourseMode.modes_for_course_dict(course_id) + upgrade = request.GET.get('upgrade', False) + donation_for_course = request.session.get("donation_for_course", {}) chosen_price = donation_for_course.get(course_id, None) @@ -50,6 +52,7 @@ class ChooseModeView(View): "course_num": course.display_number_with_default, "chosen_price": chosen_price, "error": error, + "upgrade": upgrade, } if "verified" in modes: context["suggested_prices"] = [decimal.Decimal(x) for x in modes["verified"].suggested_prices.split(",")] @@ -70,6 +73,8 @@ class ChooseModeView(View): error_msg = _("Enrollment is closed") return self.get(request, course_id, error=error_msg) + upgrade = request.GET.get('upgrade', False) + requested_mode = self.get_requested_mode(request.POST.get("mode")) if requested_mode == "verified" and request.POST.get("honor-code"): requested_mode = "honor" @@ -106,13 +111,12 @@ class ChooseModeView(View): if SoftwareSecurePhotoVerification.user_has_valid_or_pending(request.user): return redirect( reverse('verify_student_verified', - kwargs={'course_id': course_id}) + kwargs={'course_id': course_id}) + "?upgrade={}".format(upgrade) ) return redirect( reverse('verify_student_show_requirements', - kwargs={'course_id': course_id}), - ) + kwargs={'course_id': course_id}) + "?upgrade={}".format(upgrade)) def get_requested_mode(self, user_choice): """ diff --git a/lms/djangoapps/verify_student/views.py b/lms/djangoapps/verify_student/views.py index b220ff6a97..8fafc26834 100644 --- a/lms/djangoapps/verify_student/views.py +++ b/lms/djangoapps/verify_student/views.py @@ -44,12 +44,15 @@ class VerifyView(View): before proceeding to payment """ + upgrade = request.GET.get('upgrade', False) + # If the user has already been verified within the given time period, # redirect straight to the payment -- no need to verify again. if SoftwareSecurePhotoVerification.user_has_valid_or_pending(request.user): return redirect( reverse('verify_student_verified', - kwargs={'course_id': course_id})) + kwargs={'course_id': course_id}) + "?upgrade={}".format(upgrade) + ) elif CourseEnrollment.enrollment_mode_for_user(request.user, course_id) == 'verified': return redirect(reverse('dashboard')) else: @@ -85,6 +88,7 @@ class VerifyView(View): "currency": verify_mode.currency.upper(), "chosen_price": chosen_price, "min_price": verify_mode.min_price, + "upgrade": upgrade, } return render_to_response('verify_student/photo_verification.html', context) @@ -100,6 +104,7 @@ class VerifiedView(View): """ Handle the case where we have a get request """ + upgrade = request.GET.get('upgrade', False) if CourseEnrollment.enrollment_mode_for_user(request.user, course_id) == 'verified': return redirect(reverse('dashboard')) verify_mode = CourseMode.mode_for_course(course_id, "verified") @@ -117,6 +122,7 @@ class VerifiedView(View): "purchase_endpoint": get_purchase_endpoint(), "currency": verify_mode.currency.upper(), "chosen_price": chosen_price, + "upgrade": upgrade, } return render_to_response('verify_student/verified.html', context) @@ -250,6 +256,7 @@ def show_requirements(request, course_id): if CourseEnrollment.enrollment_mode_for_user(request.user, course_id) == 'verified': return redirect(reverse('dashboard')) + upgrade = request.GET.get('upgrade', False) course = course_from_id(course_id) context = { "course_id": course_id, @@ -257,5 +264,6 @@ def show_requirements(request, course_id): "course_org": course.display_org_with_default, "course_num": course.display_number_with_default, "is_not_active": not request.user.is_active, + "upgrade": upgrade, } return render_to_response("verify_student/show_requirements.html", context) diff --git a/lms/templates/verify_student/show_requirements.html b/lms/templates/verify_student/show_requirements.html index 432a13fc62..4acd8b645a 100644 --- a/lms/templates/verify_student/show_requirements.html +++ b/lms/templates/verify_student/show_requirements.html @@ -153,7 +153,7 @@
  1. - +