https://openedx.atlassian.net/browse/DEPR-43 Co-authored-by: Jeremy Bowman <jbowman@edx.org>
95 lines
3.8 KiB
JavaScript
95 lines
3.8 KiB
JavaScript
/**
|
|
* Entry point for the payment/verification flow.
|
|
* This loads the base view, which in turn loads
|
|
* subviews for each step in the flow.
|
|
*
|
|
* We pass some information to the base view
|
|
* using "data-" attributes on the parent div.
|
|
* See "pay_and_verify.html" for the exact attribute names.
|
|
*
|
|
*/
|
|
var edx = edx || {};
|
|
|
|
(function($, _) {
|
|
'use strict';
|
|
var errorView,
|
|
$el = $('#pay-and-verify-container');
|
|
|
|
edx.verify_student = edx.verify_student || {};
|
|
|
|
// Initialize an error view for displaying top-level error messages.
|
|
errorView = new edx.verify_student.ErrorView({
|
|
el: $('#error-container')
|
|
});
|
|
|
|
// Initialize the base view, passing in information
|
|
// from the data attributes on the parent div.
|
|
//
|
|
// The data attributes capture information that only
|
|
// the server knows about, such as the course and course mode info,
|
|
// full URL paths to static underscore templates,
|
|
// and some messaging.
|
|
//
|
|
return new edx.verify_student.PayAndVerifyView({
|
|
errorModel: errorView.model,
|
|
displaySteps: $el.data('display-steps'),
|
|
currentStep: $el.data('current-step'),
|
|
courseKey: $el.data('course-key'),
|
|
checkpointLocation: $el.data('checkpoint-location'),
|
|
stepInfo: {
|
|
'intro-step': {
|
|
courseName: $el.data('course-name'),
|
|
hasPaid: $el.data('msg-key') === 'verify-now' || $el.data('msg-key') === 'verify-later',
|
|
isActive: $el.data('is-active'),
|
|
platformName: $el.data('platform-name'),
|
|
requirements: $el.data('requirements')
|
|
},
|
|
'make-payment-step': {
|
|
isActive: $el.data('is-active'),
|
|
requirements: $el.data('requirements'),
|
|
courseKey: $el.data('course-key'),
|
|
courseName: $el.data('course-name'),
|
|
userEmail: $el.data('user-email'),
|
|
userLanguage: $el.data('user-language'),
|
|
userTimezone: $el.data('user-timezone'),
|
|
hasVisibleReqs: _.some(
|
|
$el.data('requirements'),
|
|
function(isVisible) { return isVisible; }
|
|
),
|
|
upgrade: $el.data('msg-key') === 'upgrade',
|
|
minPrice: $el.data('course-mode-min-price'),
|
|
sku: $el.data('course-mode-sku'),
|
|
contributionAmount: $el.data('contribution-amount'),
|
|
suggestedPrices: _.filter(
|
|
($el.data('course-mode-suggested-prices').toString()).split(','),
|
|
function(price) { return Boolean(price); }
|
|
),
|
|
currency: $el.data('course-mode-currency'),
|
|
processors: $el.data('processors'),
|
|
verificationDeadline: $el.data('verification-deadline'),
|
|
courseModeSlug: $el.data('course-mode-slug'),
|
|
alreadyVerified: $el.data('already-verified'),
|
|
verificationGoodUntil: $el.data('verification-good-until'),
|
|
isABTesting: $el.data('is-ab-testing')
|
|
},
|
|
'face-photo-step': {
|
|
platformName: $el.data('platform-name'),
|
|
captureSoundPath: $el.data('capture-sound')
|
|
},
|
|
'id-photo-step': {
|
|
platformName: $el.data('platform-name'),
|
|
captureSoundPath: $el.data('capture-sound')
|
|
},
|
|
'review-photos-step': {
|
|
fullName: $el.data('full-name'),
|
|
platformName: $el.data('platform-name')
|
|
},
|
|
'enrollment-confirmation-step': {
|
|
courseName: $el.data('course-name'),
|
|
coursewareUrl: $el.data('courseware-url'),
|
|
platformName: $el.data('platform-name')
|
|
}
|
|
}
|
|
}).render();
|
|
}(jQuery, _));
|