Commit e13dd094 by Diana Huang

Add an upgrade parameter to the verification views.

parent 832e2624
...@@ -38,6 +38,8 @@ class ChooseModeView(View): ...@@ -38,6 +38,8 @@ class ChooseModeView(View):
return redirect(reverse('dashboard')) return redirect(reverse('dashboard'))
modes = CourseMode.modes_for_course_dict(course_id) modes = CourseMode.modes_for_course_dict(course_id)
upgrade = request.GET.get('upgrade', False)
donation_for_course = request.session.get("donation_for_course", {}) donation_for_course = request.session.get("donation_for_course", {})
chosen_price = donation_for_course.get(course_id, None) chosen_price = donation_for_course.get(course_id, None)
...@@ -50,6 +52,7 @@ class ChooseModeView(View): ...@@ -50,6 +52,7 @@ class ChooseModeView(View):
"course_num": course.display_number_with_default, "course_num": course.display_number_with_default,
"chosen_price": chosen_price, "chosen_price": chosen_price,
"error": error, "error": error,
"upgrade": upgrade,
} }
if "verified" in modes: if "verified" in modes:
context["suggested_prices"] = [decimal.Decimal(x) for x in modes["verified"].suggested_prices.split(",")] context["suggested_prices"] = [decimal.Decimal(x) for x in modes["verified"].suggested_prices.split(",")]
...@@ -70,6 +73,8 @@ class ChooseModeView(View): ...@@ -70,6 +73,8 @@ class ChooseModeView(View):
error_msg = _("Enrollment is closed") error_msg = _("Enrollment is closed")
return self.get(request, course_id, error=error_msg) 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")) requested_mode = self.get_requested_mode(request.POST.get("mode"))
if requested_mode == "verified" and request.POST.get("honor-code"): if requested_mode == "verified" and request.POST.get("honor-code"):
requested_mode = "honor" requested_mode = "honor"
...@@ -106,13 +111,12 @@ class ChooseModeView(View): ...@@ -106,13 +111,12 @@ class ChooseModeView(View):
if SoftwareSecurePhotoVerification.user_has_valid_or_pending(request.user): if SoftwareSecurePhotoVerification.user_has_valid_or_pending(request.user):
return redirect( return redirect(
reverse('verify_student_verified', reverse('verify_student_verified',
kwargs={'course_id': course_id}) kwargs={'course_id': course_id}) + "?upgrade={}".format(upgrade)
) )
return redirect( return redirect(
reverse('verify_student_show_requirements', 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): def get_requested_mode(self, user_choice):
""" """
......
...@@ -44,12 +44,15 @@ class VerifyView(View): ...@@ -44,12 +44,15 @@ class VerifyView(View):
before proceeding to payment before proceeding to payment
""" """
upgrade = request.GET.get('upgrade', False)
# If the user has already been verified within the given time period, # If the user has already been verified within the given time period,
# redirect straight to the payment -- no need to verify again. # redirect straight to the payment -- no need to verify again.
if SoftwareSecurePhotoVerification.user_has_valid_or_pending(request.user): if SoftwareSecurePhotoVerification.user_has_valid_or_pending(request.user):
return redirect( return redirect(
reverse('verify_student_verified', 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': elif CourseEnrollment.enrollment_mode_for_user(request.user, course_id) == 'verified':
return redirect(reverse('dashboard')) return redirect(reverse('dashboard'))
else: else:
...@@ -85,6 +88,7 @@ class VerifyView(View): ...@@ -85,6 +88,7 @@ class VerifyView(View):
"currency": verify_mode.currency.upper(), "currency": verify_mode.currency.upper(),
"chosen_price": chosen_price, "chosen_price": chosen_price,
"min_price": verify_mode.min_price, "min_price": verify_mode.min_price,
"upgrade": upgrade,
} }
return render_to_response('verify_student/photo_verification.html', context) return render_to_response('verify_student/photo_verification.html', context)
...@@ -100,6 +104,7 @@ class VerifiedView(View): ...@@ -100,6 +104,7 @@ class VerifiedView(View):
""" """
Handle the case where we have a get request 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': if CourseEnrollment.enrollment_mode_for_user(request.user, course_id) == 'verified':
return redirect(reverse('dashboard')) return redirect(reverse('dashboard'))
verify_mode = CourseMode.mode_for_course(course_id, "verified") verify_mode = CourseMode.mode_for_course(course_id, "verified")
...@@ -117,6 +122,7 @@ class VerifiedView(View): ...@@ -117,6 +122,7 @@ class VerifiedView(View):
"purchase_endpoint": get_purchase_endpoint(), "purchase_endpoint": get_purchase_endpoint(),
"currency": verify_mode.currency.upper(), "currency": verify_mode.currency.upper(),
"chosen_price": chosen_price, "chosen_price": chosen_price,
"upgrade": upgrade,
} }
return render_to_response('verify_student/verified.html', context) return render_to_response('verify_student/verified.html', context)
...@@ -250,6 +256,7 @@ def show_requirements(request, course_id): ...@@ -250,6 +256,7 @@ def show_requirements(request, course_id):
if CourseEnrollment.enrollment_mode_for_user(request.user, course_id) == 'verified': if CourseEnrollment.enrollment_mode_for_user(request.user, course_id) == 'verified':
return redirect(reverse('dashboard')) return redirect(reverse('dashboard'))
upgrade = request.GET.get('upgrade', False)
course = course_from_id(course_id) course = course_from_id(course_id)
context = { context = {
"course_id": course_id, "course_id": course_id,
...@@ -257,5 +264,6 @@ def show_requirements(request, course_id): ...@@ -257,5 +264,6 @@ def show_requirements(request, course_id):
"course_org": course.display_org_with_default, "course_org": course.display_org_with_default,
"course_num": course.display_number_with_default, "course_num": course.display_number_with_default,
"is_not_active": not request.user.is_active, "is_not_active": not request.user.is_active,
"upgrade": upgrade,
} }
return render_to_response("verify_student/show_requirements.html", context) return render_to_response("verify_student/show_requirements.html", context)
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
<ol class="wizard-steps"> <ol class="wizard-steps">
<li class="wizard-step"> <li class="wizard-step">
<a class="next action-primary ${"disabled" if is_not_active else ""}" id="face_next_button" href="${reverse('verify_student_verify', kwargs={'course_id': course_id})}">${_("Go to Step 1: Take my Photo")}</a> <a class="next action-primary ${"disabled" if is_not_active else ""}" id="face_next_button" href="${reverse('verify_student_verify', kwargs={'course_id': course_id})}?upgrade=${upgrade}">${_("Go to Step 1: Take my Photo")}</a>
</li> </li>
</ol> </ol>
</nav> </nav>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment