From 657da20c6e75f2c2e6a8c6c6d3833f5aa45deb0e Mon Sep 17 00:00:00 2001 From: Diana Huang Date: Tue, 29 Sep 2020 16:08:42 -0400 Subject: [PATCH] DEPR-43 - Remove JS that refers to shoppingcart receipt page. (#24890) https://openedx.atlassian.net/browse/DEPR-43 Co-authored-by: Jeremy Bowman --- .../shoppingcart/tests/test_views.py | 89 ---------- .../verify_student/tests/test_views.py | 111 +----------- lms/djangoapps/verify_student/urls.py | 14 -- lms/djangoapps/verify_student/views.py | 10 +- lms/envs/common.py | 1 - .../pay_and_verify_view_spec.js | 23 --- .../js/verify_student/pay_and_verify.js | 7 - .../views/pay_and_verify_view.js | 1 - .../views/payment_confirmation_step_view.js | 161 ------------------ lms/static/lms/js/spec/main.js | 10 -- .../verify_student/pay_and_verify.html | 4 +- .../payment_confirmation_step.underscore | 158 ----------------- 12 files changed, 9 insertions(+), 580 deletions(-) delete mode 100644 lms/static/js/verify_student/views/payment_confirmation_step_view.js delete mode 100644 lms/templates/verify_student/payment_confirmation_step.underscore diff --git a/lms/djangoapps/shoppingcart/tests/test_views.py b/lms/djangoapps/shoppingcart/tests/test_views.py index f4868d30ba..9e31e2e838 100644 --- a/lms/djangoapps/shoppingcart/tests/test_views.py +++ b/lms/djangoapps/shoppingcart/tests/test_views.py @@ -1328,61 +1328,6 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin): self._assert_404(reverse('shoppingcart.views.reset_code_redemption', args=[]), use_post=True) self._assert_404(reverse('billing_details', args=[])) - def test_upgrade_postpay_callback_emits_ga_event(self): - # Enroll as honor in the course with the current user. - - CourseEnrollment.enroll(self.user, self.course_key) - - # add verified mode - CourseMode.objects.create( - course_id=self.verified_course_key, - mode_slug="verified", - mode_display_name="verified cert", - min_price=self.cost - ) - - # Purchase a verified certificate - self.cart = Order.get_cart_for_user(self.user) - CertificateItem.add_to_order(self.cart, self.verified_course_key, self.cost, 'verified') - self.cart.start_purchase() - - self.login_user() - # setting the attempting upgrade session value. - session = self.client.session - session['attempting_upgrade'] = True - session.save() - - ordered_params = OrderedDict([ - ('amount', self.cost), - ('currency', 'usd'), - ('transaction_type', 'sale'), - ('orderNumber', str(self.cart.id)), - ('access_key', '123456789'), - ('merchantID', 'edx'), - ('djch', '012345678912'), - ('orderPage_version', 2), - ('orderPage_serialNumber', '1234567890'), - ('profile_id', "00000001"), - ('reference_number', str(self.cart.id)), - ('locale', 'en'), - ('signed_date_time', '2014-08-18T13:59:31Z'), - ]) - - resp_params = PaymentFakeView.response_post_params(sign(ordered_params)) - self.assertTrue(self.client.session.get('attempting_upgrade')) - url = reverse('shoppingcart.views.postpay_callback') - self.client.post(url, resp_params, follow=True) - self.assertFalse(self.client.session.get('attempting_upgrade')) - - self.mock_tracker.emit.assert_any_call( - 'edx.course.enrollment.upgrade.succeeded', - { - 'user_id': self.user.id, - 'course_id': text_type(self.verified_course_key), - 'mode': 'verified' - } - ) - class ReceiptRedirectTest(SharedModuleStoreTestCase): """Test special-case redirect from the receipt page. """ @@ -1414,40 +1359,6 @@ class ReceiptRedirectTest(SharedModuleStoreTestCase): password=self.PASSWORD ) - def test_postpay_callback_redirect_to_verify_student(self): - # Create other carts first - # This ensures that the order ID and order item IDs do not match - Order.get_cart_for_user(self.user).start_purchase() - Order.get_cart_for_user(self.user).start_purchase() - Order.get_cart_for_user(self.user).start_purchase() - - # Purchase a verified certificate - self.cart = Order.get_cart_for_user(self.user) - CertificateItem.add_to_order( - self.cart, - self.course_key, - self.COST, - 'verified' - ) - self.cart.start_purchase() - - # Simulate hitting the post-pay callback - with patch('lms.djangoapps.shoppingcart.views.process_postpay_callback') as mock_process: - mock_process.return_value = {'success': True, 'order': self.cart} - url = reverse('shoppingcart.views.postpay_callback') - resp = self.client.post(url, follow=True) - - # Expect to be redirected to the payment confirmation - # page in the verify_student app - redirect_url = reverse( - 'verify_student_payment_confirmation', - kwargs={'course_id': six.text_type(self.course_key)} - ) - redirect_url += '?payment-order-num={order_num}'.format( - order_num=self.cart.id - ) - self.assertIn(redirect_url, resp.redirect_chain[0][0]) - @patch.dict('django.conf.settings.FEATURES', {'ENABLE_PAID_COURSE_REGISTRATION': True}) class ShoppingcartViewsClosedEnrollment(ModuleStoreTestCase): diff --git a/lms/djangoapps/verify_student/tests/test_views.py b/lms/djangoapps/verify_student/tests/test_views.py index 67d43da680..30414f6043 100644 --- a/lms/djangoapps/verify_student/tests/test_views.py +++ b/lms/djangoapps/verify_student/tests/test_views.py @@ -87,12 +87,8 @@ class TestPayAndVerifyView(UrlResetMixin, ModuleStoreTestCase, XssTestMixin, Tes PASSWORD = "test_password" NOW = now() - YESTERDAY = 'yesterday' - TOMORROW = 'tomorrow' NEXT_YEAR = 'next_year' DATES = { - YESTERDAY: NOW - timedelta(days=1), - TOMORROW: NOW + timedelta(days=1), NEXT_YEAR: NOW + timedelta(days=360), None: None, } @@ -372,61 +368,24 @@ class TestPayAndVerifyView(UrlResetMixin, ModuleStoreTestCase, XssTestMixin, Tes response = self._get_page('verify_student_verify_now', course.id) self._assert_user_details(response, self.user.profile.name) - @ddt.data( - "verify_student_verify_now", - "verify_student_payment_confirmation" - ) - def test_verify_now_not_enrolled(self, page_name): + def test_verify_now_not_enrolled(self): course = self._create_course("verified") - response = self._get_page(page_name, course.id, expected_status_code=302) + response = self._get_page("verify_student_verify_now", course.id, expected_status_code=302) self._assert_redirects_to_start_flow(response, course.id) - @ddt.data( - "verify_student_verify_now", - "verify_student_payment_confirmation" - ) - def test_verify_now_unenrolled(self, page_name): + def test_verify_now_unenrolled(self): course = self._create_course("verified") self._enroll(course.id, "verified") self._unenroll(course.id) - response = self._get_page(page_name, course.id, expected_status_code=302) + response = self._get_page("verify_student_verify_now", course.id, expected_status_code=302) self._assert_redirects_to_start_flow(response, course.id) - @ddt.data( - "verify_student_verify_now", - "verify_student_payment_confirmation" - ) - def test_verify_now_not_paid(self, page_name): + def test_verify_now_not_paid(self): course = self._create_course("verified") self._enroll(course.id) - response = self._get_page(page_name, course.id, expected_status_code=302) + response = self._get_page("verify_student_verify_now", course.id, expected_status_code=302) self._assert_redirects_to_upgrade(response, course.id) - def test_payment_confirmation(self): - course = self._create_course("verified") - self._enroll(course.id, "verified") - response = self._get_page('verify_student_payment_confirmation', course.id) - - self._assert_messaging(response, PayAndVerifyView.PAYMENT_CONFIRMATION_MSG) - - self.assert_no_xss(response, '') - - # Expect that *all* steps are displayed, - # but we start at the payment confirmation step - self._assert_steps_displayed( - response, - PayAndVerifyView.PAYMENT_STEPS + PayAndVerifyView.VERIFICATION_STEPS, - PayAndVerifyView.PAYMENT_CONFIRMATION_STEP, - ) - - # These will be hidden from the user anyway since they're starting - # after the payment step. We're already including the payment - # steps, so it's easier to include these as well. - self._assert_requirements_displayed(response, [ - PayAndVerifyView.PHOTO_ID_REQ, - PayAndVerifyView.WEBCAM_REQ, - ]) - @ddt.data("verify_student_start_flow", "verify_student_begin_flow") def test_payment_cannot_skip(self, payment_flow): """ @@ -454,64 +413,6 @@ class TestPayAndVerifyView(UrlResetMixin, ModuleStoreTestCase, XssTestMixin, Tes PayAndVerifyView.MAKE_PAYMENT_STEP, ) - def test_payment_confirmation_already_verified(self): - course = self._create_course("verified") - self._enroll(course.id, "verified") - self._set_verification_status("submitted") - - response = self._get_page('verify_student_payment_confirmation', course.id) - - # Other pages would redirect to the dashboard at this point, - # because the user has paid and verified. However, we want - # the user to see the confirmation page even if there - # isn't anything for them to do here except return - # to the dashboard. - self._assert_steps_displayed( - response, - PayAndVerifyView.PAYMENT_STEPS, - PayAndVerifyView.PAYMENT_CONFIRMATION_STEP, - ) - - def test_payment_confirmation_already_verified_skip_first_step(self): - course = self._create_course("verified") - self._enroll(course.id, "verified") - self._set_verification_status("submitted") - - response = self._get_page( - 'verify_student_payment_confirmation', - course.id, - skip_first_step=True - ) - - # There are no other steps, so stay on the - # payment confirmation step - self._assert_steps_displayed( - response, - PayAndVerifyView.PAYMENT_STEPS, - PayAndVerifyView.PAYMENT_CONFIRMATION_STEP, - ) - - @ddt.data( - (YESTERDAY, True), - (TOMORROW, False) - ) - @ddt.unpack - def test_payment_confirmation_course_details(self, course_start, show_courseware_url): - course = self._create_course("verified", course_start=self.DATES[course_start]) - self._enroll(course.id, "verified") - response = self._get_page('verify_student_payment_confirmation', course.id) - - courseware_url = ( - reverse("course_root", kwargs={'course_id': six.text_type(course.id)}) - if show_courseware_url else "" - ) - self._assert_course_details( - response, - six.text_type(course.id), - course.display_name, - courseware_url - ) - @ddt.data("verified", "professional") def test_upgrade(self, course_mode): course = self._create_course(course_mode) diff --git a/lms/djangoapps/verify_student/urls.py b/lms/djangoapps/verify_student/urls.py index 536af5bc2e..165828fcd3 100644 --- a/lms/djangoapps/verify_student/urls.py +++ b/lms/djangoapps/verify_student/urls.py @@ -62,20 +62,6 @@ urlpatterns = [ } ), - # The user is returning to the flow after paying. - # This usually occurs after a redirect from the shopping cart - # once the order has been fulfilled. - url( - r'^payment-confirmation/{course}/$'.format(course=settings.COURSE_ID_PATTERN), - views.PayAndVerifyView.as_view(), - name="verify_student_payment_confirmation", - kwargs={ - 'always_show_payment': True, - 'current_step': views.PayAndVerifyView.PAYMENT_CONFIRMATION_STEP, - 'message': views.PayAndVerifyView.PAYMENT_CONFIRMATION_MSG - } - ), - url( r'^create_order', views.create_order, diff --git a/lms/djangoapps/verify_student/views.py b/lms/djangoapps/verify_student/views.py index e16bd93857..b332b50f7e 100644 --- a/lms/djangoapps/verify_student/views.py +++ b/lms/djangoapps/verify_student/views.py @@ -116,7 +116,6 @@ class PayAndVerifyView(View): # INTRO_STEP = 'intro-step' MAKE_PAYMENT_STEP = 'make-payment-step' - PAYMENT_CONFIRMATION_STEP = 'payment-confirmation-step' FACE_PHOTO_STEP = 'face-photo-step' ID_PHOTO_STEP = 'id-photo-step' REVIEW_PHOTOS_STEP = 'review-photos-step' @@ -125,7 +124,6 @@ class PayAndVerifyView(View): ALL_STEPS = [ INTRO_STEP, MAKE_PAYMENT_STEP, - PAYMENT_CONFIRMATION_STEP, FACE_PHOTO_STEP, ID_PHOTO_STEP, REVIEW_PHOTOS_STEP, @@ -134,7 +132,6 @@ class PayAndVerifyView(View): PAYMENT_STEPS = [ MAKE_PAYMENT_STEP, - PAYMENT_CONFIRMATION_STEP ] VERIFICATION_STEPS = [ @@ -152,7 +149,6 @@ class PayAndVerifyView(View): STEP_TITLES = { INTRO_STEP: ugettext_lazy("Intro"), MAKE_PAYMENT_STEP: ugettext_lazy("Make payment"), - PAYMENT_CONFIRMATION_STEP: ugettext_lazy("Payment confirmation"), FACE_PHOTO_STEP: ugettext_lazy("Take photo"), ID_PHOTO_STEP: ugettext_lazy("Take a photo of your ID"), REVIEW_PHOTOS_STEP: ugettext_lazy("Review your info"), @@ -171,7 +167,6 @@ class PayAndVerifyView(View): VERIFY_NOW_MSG = 'verify-now' VERIFY_LATER_MSG = 'verify-later' UPGRADE_MSG = 'upgrade' - PAYMENT_CONFIRMATION_MSG = 'payment-confirmation' # Requirements # @@ -496,9 +491,8 @@ class PayAndVerifyView(View): if already_verified and already_paid: # If they've already paid and verified, there's nothing else to do, # so redirect them to the dashboard. - if message != self.PAYMENT_CONFIRMATION_MSG: - url = reverse('dashboard') - elif message in [self.VERIFY_NOW_MSG, self.VERIFY_LATER_MSG, self.PAYMENT_CONFIRMATION_MSG]: + url = reverse('dashboard') + elif message in [self.VERIFY_NOW_MSG, self.VERIFY_LATER_MSG]: if is_enrolled: # If the user is already enrolled but hasn't yet paid, # then the "upgrade" messaging is more appropriate. diff --git a/lms/envs/common.py b/lms/envs/common.py index 25a8a97e41..68fd7c9ce7 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -1886,7 +1886,6 @@ verify_student_js = [ 'js/verify_student/views/step_view.js', 'js/verify_student/views/intro_step_view.js', 'js/verify_student/views/make_payment_step_view.js', - 'js/verify_student/views/payment_confirmation_step_view.js', 'js/verify_student/views/face_photo_step_view.js', 'js/verify_student/views/id_photo_step_view.js', 'js/verify_student/views/review_photos_step_view.js', diff --git a/lms/static/js/spec/verify_student/pay_and_verify_view_spec.js b/lms/static/js/spec/verify_student/pay_and_verify_view_spec.js index f8861f9e22..8777a00dfa 100644 --- a/lms/static/js/spec/verify_student/pay_and_verify_view_spec.js +++ b/lms/static/js/spec/verify_student/pay_and_verify_view_spec.js @@ -10,7 +10,6 @@ define(['jquery', 'common/js/spec_helpers/template_helpers', 'js/verify_student/ 'id_photo_step', 'intro_step', 'make_payment_step', - 'payment_confirmation_step', 'review_photos_step', 'webcam_photo', 'image_input' @@ -25,10 +24,6 @@ define(['jquery', 'common/js/spec_helpers/template_helpers', 'js/verify_student/ { name: 'make-payment-step', title: 'Make Payment' - }, - { - name: 'payment-confirmation-step', - title: 'Payment Confirmation' } ]; @@ -86,9 +81,6 @@ define(['jquery', 'common/js/spec_helpers/template_helpers', 'js/verify_student/ expectStepRendered('make-payment-step'); // Iterate through the steps, ensuring that each is rendered - view.nextStep(); - expectStepRendered('payment-confirmation-step'); - view.nextStep(); expectStepRendered('face-photo-step'); @@ -129,21 +121,6 @@ define(['jquery', 'common/js/spec_helpers/template_helpers', 'js/verify_student/ expectStepRendered('enrollment-confirmation-step'); }); - it('starts from a later step', function() { - // Start from the payment confirmation step - var view = createView( - DISPLAY_STEPS_FOR_PAYMENT.concat(DISPLAY_STEPS_FOR_VERIFICATION), - 'payment-confirmation-step' - ); - - // Verify that we start on the right step - expectStepRendered('payment-confirmation-step'); - - // Try moving to the next step - view.nextStep(); - expectStepRendered('face-photo-step'); - }); - it('jumps to a particular step', function() { // Start on the review photos step var view = createView( diff --git a/lms/static/js/verify_student/pay_and_verify.js b/lms/static/js/verify_student/pay_and_verify.js index fd66d779ec..637a361278 100644 --- a/lms/static/js/verify_student/pay_and_verify.js +++ b/lms/static/js/verify_student/pay_and_verify.js @@ -72,13 +72,6 @@ var edx = edx || {}; verificationGoodUntil: $el.data('verification-good-until'), isABTesting: $el.data('is-ab-testing') }, - 'payment-confirmation-step': { - courseKey: $el.data('course-key'), - courseName: $el.data('course-name'), - coursewareUrl: $el.data('courseware-url'), - platformName: $el.data('platform-name'), - requirements: $el.data('requirements') - }, 'face-photo-step': { platformName: $el.data('platform-name'), captureSoundPath: $el.data('capture-sound') diff --git a/lms/static/js/verify_student/views/pay_and_verify_view.js b/lms/static/js/verify_student/views/pay_and_verify_view.js index 4dd4d4d16f..7d69f9f2fd 100644 --- a/lms/static/js/verify_student/views/pay_and_verify_view.js +++ b/lms/static/js/verify_student/views/pay_and_verify_view.js @@ -53,7 +53,6 @@ var edx = edx || {}; subviewConstructors = { 'intro-step': edx.verify_student.IntroStepView, 'make-payment-step': edx.verify_student.MakePaymentStepView, - 'payment-confirmation-step': edx.verify_student.PaymentConfirmationStepView, 'face-photo-step': edx.verify_student.FacePhotoStepView, 'id-photo-step': edx.verify_student.IDPhotoStepView, 'review-photos-step': edx.verify_student.ReviewPhotosStepView, diff --git a/lms/static/js/verify_student/views/payment_confirmation_step_view.js b/lms/static/js/verify_student/views/payment_confirmation_step_view.js deleted file mode 100644 index 92e8acc1e1..0000000000 --- a/lms/static/js/verify_student/views/payment_confirmation_step_view.js +++ /dev/null @@ -1,161 +0,0 @@ -/** - * View for the "payment confirmation" step of the payment/verification flow. - */ -var edx = edx || {}; - -(function($, _, gettext) { - 'use strict'; - - edx.verify_student = edx.verify_student || {}; - - edx.verify_student.PaymentConfirmationStepView = edx.verify_student.StepView.extend({ - - templateName: 'payment_confirmation_step', - - defaultContext: function() { - return { - courseKey: '', - courseName: '', - coursewareUrl: '', - platformName: '', - requirements: [] - }; - }, - - /** - * Retrieve receipt information from the shopping cart. - * - * We make this request from JavaScript to encapsulate - * the verification Django app from the shopping cart app. - * - * This method checks the query string param - * ?payment-order-num, which can be set by the shopping cart - * before redirecting to the payment confirmation page. - * This step then reads the param and requests receipt information - * from the shopping cart. At no point does the "verify student" - * Django app interact directly with the shopping cart. - * - * @param {object} templateContext The original template context. - * @return {object} A JQuery promise that resolves with the modified - * template context. - */ - updateContext: function(templateContext) { - var view = this; - return $.Deferred( - function(defer) { - var paymentOrderNum = $.url('?payment-order-num'); - if (paymentOrderNum) { - // If there is a payment order number, try to retrieve - // the receipt information from the shopping cart. - view.getReceiptData(paymentOrderNum).done( - function(data) { - // Add the receipt info to the template context - _.extend(templateContext, {receipt: this.receiptContext(data)}); - defer.resolveWith(view, [templateContext]); - } - ).fail(function() { - // Display an error - // This can occur if the user does not have access to the receipt - // or the order number is invalid. - defer.rejectWith( - this, - [ - gettext('Error'), - gettext('Could not retrieve payment information') - ] - ); - }); - } else { - // If no payment order is provided, return the original context - // The template is responsible for displaying a default state. - _.extend(templateContext, {receipt: null}); - defer.resolveWith(view, [templateContext]); - } - } - ).promise(); - }, - - /** - * The "Verify Later" button goes directly to the dashboard, - * The "Verify Now" button sends the user to the verification flow. - * For this reason, we don't need any custom click handlers here, except for - * those used to track business intelligence events. - */ - postRender: function() { - var $verifyNowButton = $('#verify_now_button'), - $verifyLaterButton = $('#verify_later_button'); - - // Track a virtual pageview, for easy funnel reconstruction. - window.analytics.page('payment', this.templateName); - - // Track the user's decision to verify immediately - window.analytics.trackLink($verifyNowButton, 'edx.bi.user.verification.immediate', { - category: 'verification' - }); - - // Track the user's decision to defer their verification - window.analytics.trackLink($verifyLaterButton, 'edx.bi.user.verification.deferred', { - category: 'verification' - }); - }, - - /** - * Retrieve receipt data from the shoppingcart. - * @param {int} paymentOrderNum The order number of the payment. - * @return {object} JQuery Promise. - */ - getReceiptData: function(paymentOrderNum) { - return $.ajax({ - url: _.sprintf('/shoppingcart/receipt/%s/', paymentOrderNum), - type: 'GET', - dataType: 'json', - context: this - }); - }, - - /** - * Construct the template context from data received - * from the shopping cart receipt. - * - * @param {object} data Receipt data received from the server - * @return {object} Receipt template context. - */ - receiptContext: function(data) { - var view = this, - receiptContext; - - receiptContext = { - orderNum: data.orderNum, - currency: data.currency, - purchasedDatetime: data.purchase_datetime, - totalCost: view.formatMoney(data.total_cost), - isRefunded: data.status === 'refunded', - billedTo: { - firstName: data.billed_to.first_name, - lastName: data.billed_to.last_name, - city: data.billed_to.city, - state: data.billed_to.state, - postalCode: data.billed_to.postal_code, - country: data.billed_to.country - }, - items: [] - }; - - receiptContext.items = _.map( - data.items, - function(item) { - return { - lineDescription: item.line_desc, - cost: view.formatMoney(item.line_cost) - }; - } - ); - - return receiptContext; - }, - - formatMoney: function(moneyStr) { - return Number(moneyStr).toFixed(2); - } - }); -}(jQuery, _, gettext)); diff --git a/lms/static/lms/js/spec/main.js b/lms/static/lms/js/spec/main.js index cb93e8bb0c..c6bca53f1a 100644 --- a/lms/static/lms/js/spec/main.js +++ b/lms/static/lms/js/spec/main.js @@ -428,15 +428,6 @@ 'js/verify_student/views/step_view' ] }, - 'js/verify_student/views/payment_confirmation_step_view': { - exports: 'edx.verify_student.PaymentConfirmationStepView', - deps: [ - 'jquery', - 'underscore', - 'gettext', - 'js/verify_student/views/step_view' - ] - }, 'js/verify_student/views/face_photo_step_view': { exports: 'edx.verify_student.FacePhotoStepView', deps: [ @@ -491,7 +482,6 @@ 'js/verify_student/models/verification_model', 'js/verify_student/views/intro_step_view', 'js/verify_student/views/make_payment_step_view', - 'js/verify_student/views/payment_confirmation_step_view', 'js/verify_student/views/face_photo_step_view', 'js/verify_student/views/id_photo_step_view', 'js/verify_student/views/review_photos_step_view', diff --git a/lms/templates/verify_student/pay_and_verify.html b/lms/templates/verify_student/pay_and_verify.html index bb91fd62c7..c6001e4fe8 100644 --- a/lms/templates/verify_student/pay_and_verify.html +++ b/lms/templates/verify_student/pay_and_verify.html @@ -14,8 +14,6 @@ from lms.djangoapps.verify_student.views import PayAndVerifyView <%block name="pagetitle"> % if message_key == PayAndVerifyView.UPGRADE_MSG: ${_("Upgrade Your Enrollment For {course_name}.").format(course_name=course.display_name)} - % elif message_key == PayAndVerifyView.PAYMENT_CONFIRMATION_MSG: - ${_("Receipt For {course_name}").format(course_name=course.display_name)} % elif message_key in [PayAndVerifyView.VERIFY_NOW_MSG, PayAndVerifyView.VERIFY_LATER_MSG]: ${_("Verify For {course_name}").format(course_name=course.display_name)} % else: @@ -27,7 +25,7 @@ from lms.djangoapps.verify_student.views import PayAndVerifyView <% template_names = ( ["webcam_photo", "image_input", "error"] + - ["intro_step", "payment_confirmation_step"] + + ["intro_step"] + ["face_photo_step", "id_photo_step", "review_photos_step", "enrollment_confirmation_step"] ) diff --git a/lms/templates/verify_student/payment_confirmation_step.underscore b/lms/templates/verify_student/payment_confirmation_step.underscore deleted file mode 100644 index e4b2990d6c..0000000000 --- a/lms/templates/verify_student/payment_confirmation_step.underscore +++ /dev/null @@ -1,158 +0,0 @@ -
-
-

- <%= HtmlUtils.interpolateHtml( - gettext( "Thank you! We have received your payment for {courseName}." ), - { courseName: HtmlUtils.joinHtml( - HtmlUtils.HTML(''), - courseName, - HtmlUtils.HTML('') - ) } - ) %> -

- - <% if ( receipt ) { %> -
-
-
-

<%- gettext( "Please print this page for your records; it serves as your receipt. You will also receive an email with the same information." ) %>

-
- -
- - - - - - - - - - - - <% for ( var i = 0; i < receipt.items.length; i++ ) { %> - <% if ( receipt.isRefunded ) { %> - - - - - <% } else { %> - - - - - - - <% } %> - <% } %> - - - - - - - - -
<%- gettext( "Order No." ) %><%- gettext( "Description" ) %><%- gettext( "Date" ) %><%- gettext( "Amount" ) %>
<%- receipt.orderNum %><%- receipt.items[i].lineDescription %><%- receipt.purchasedDatetime %><%- receipt.items[i].cost %> (<%- receipt.currency.toUpperCase() %>)
<%- receipt.orderNum %><%- receipt.items[i].lineDescription %><%- receipt.purchasedDatetime %><%- receipt.items[i].cost %> (<%- receipt.currency.toUpperCase() %>)
<%- gettext( "Total" ) %> - <%- receipt.totalCost %> - (<%- receipt.currency.toUpperCase() %>) -
- - <% if ( receipt.isRefunded ) { %> -
-

<%- gettext( "Please Note" ) %>:

-
-

<%- gettext( "Crossed out items have been refunded." ) %>

-
-
- <% } %> -
- -
-

<%- gettext( "Billed to" ) %>: - <%- receipt.billedTo.firstName %> - <%- receipt.billedTo.lastName %> - (<%- receipt.billedTo.city %>, - <%- receipt.billedTo.state %> - <%- receipt.billedTo.postalCode %> - <%- receipt.billedTo.country.toUpperCase() %>) -

-
-
-
- <% } else { %> -

<%- gettext( "No receipt available" ) %>

- <% } %> - - <% if ( nextStepTitle ) { %> -

<%- gettext( "Next Step: Confirm your identity" ) %>

- -
-
    - <% if ( requirements['account-activation-required'] ) { %> -
  • -

    <%- gettext( "Activate Your Account" ) %>

    -
    - -
    - -
    -

    - <%- gettext( "Check your email" ) %> - <%- - gettext( "You need to activate your account before you can enroll in courses. Check your inbox for an activation email." ) - %> - -

    -
    -
  • - <% } else { %> - <% if ( requirements['photo-id-required'] ) { %> -
  • -

    <%- gettext( "Photo ID" ) %>

    -
    - - -
    - -
    -

    - <%- gettext( "A driver's license, passport, or government-issued ID with your name and photo." ) %> -

    -
    -
  • - <% } %> - - <% if ( requirements['webcam-required'] ) { %> -
  • -

    <%- gettext( "Webcam" ) %>

    -
    - -
    - -
    -
  • - <% } %> - <% } %> -
-
- - - <% } %> -
-