log.info("Updated registration information for user's test center exam registration: username \"{}\" course \"{}\", examcode \"{}\"".format(registration.testcenter_user.user.username,registration.course_id,registration.exam_series_code))
# TODO: add validation code for values added to accommodation_code field.
log.info("User {0} enrolled in course {1} {2}updating demographic info for exam registration".format(user.username,course_id,""ifneeds_updatingelse"not "))
exceptTestCenterUser.DoesNotExist:
# do additional initialization here:
testcenter_user=TestCenterUser.create(user)
needs_updating=True
log.info("User {0} enrolled in course {1} creating demographic info for exam registration".format(user.username,course_id))
# perform validation:
ifneeds_updating:
# first perform validation on the user information
@@ -257,6 +257,7 @@ Supported fields at the course level:
* "tabs" -- have custom tabs in the courseware. See below for details on config.
* "discussion_blackouts" -- An array of time intervals during which you want to disable a student's ability to create or edit posts in the forum. Moderators, Community TAs, and Admins are unaffected. You might use this during exam periods, but please be aware that the forum is often a very good place to catch mistakes and clarify points to students. The better long term solution would be to have better flagging/moderation mechanisms, but this is the hammer we have today. Format by example: [["2012-10-29T04:00", "2012-11-03T04:00"], ["2012-12-30T04:00", "2013-01-02T04:00"]]
* "show_calculator" (value "Yes" if desired)
* "days_early_for_beta" -- number of days (floating point ok) early that students in the beta-testers group get to see course content. Can also be specified for any other course element, and overrides values set at higher levels.
<ahref="${testcenter_register_target}"class="button exam-button"id="exam_register_button">Register for Pearson exam</a>
<pclass="message-copy">Registration for the Pearson exam is now open and will close on <strong>${testcenter_exam_info.registration_end_date_text}</strong></p>
</div>
% endif
<!-- display a registration for a current exam, even if the registration period is over -->
<h3class="message-title">Your registration for the Pearson exam has been processed</h3>
<pclass="message-copy">Your registration number is <strong>${registration.client_candidate_id}</strong>. (Write this down! You’ll need it to schedule your exam.)</p>
<h3class="message-title">Registration for this Pearson exam is closed</h3>
<pclass="message-copy">Your previous information is available below, however you may not edit any of the information.
</div>
% endif
% if registration:
<pclass="instructions">
Please use the following form if you need to update your demographic information used in your Pearson VUE Proctored Exam. Required fields are noted by <strongclass="indicator">bold text and an asterisk (*)</strong>.
</p>
% else:
<pclass="instructions">
Please provide the following demographic information to register for a Pearson VUE Proctored Exam. Required fields are noted by <strongclass="indicator">bold text and an asterisk (*)</strong>.
<inputid="company_name"type="text"name="company_name"value="${testcenteruser.company_name}"placeholder="e.g. American Association of University Professors"/>
</li>
</ol>
</fieldset>
</div>
% if registration:
% if registration.accommodation_request and len(registration.accommodation_request) > 0:
% if registration.accommodation_request and len(registration.accommodation_request) > 0:
<pclass="note"><spanclass="title">Note</span>: Your previous accommodation request below needs to be reviewed in detail <strong>and will add a significant delay to your registration process</strong>.</p>
% endif
% else:
<pclass="note"><spanclass="title">Note</span>: Accommodation requests are not part of your demographic information, <strong>and cannot be changed once submitted</strong>. Accommodation requests, which are reviewed on a case-by-case basis, <strong>will add significant delay to the registration process</strong>.</p>
<liclass="item status status-pending status-demographics">
<h4class="title">Demographic Information</h4>
<pclass="details">The demographic information you most recently provided is pending. You may edit this information at any point before exam registration closes on <strong>${exam_info.registration_end_date_text}</strong></p>
</li>
% endif
% if registration.demographics_is_accepted:
<liclass="item status status-processed status-demographics">
<h4class="title">Demographic Information</h4>
<pclass="details">The demographic information you most recently provided has been processed. You may edit this information at any point before exam registration closes on <strong>${exam_info.registration_end_date_text}</strong></p>
</li>
% endif
% if registration.demographics_is_rejected:
<liclass="item status status-rejected status-demographics">
<h4class="title">Demographic Information</h4>
<pclass="details">The demographic information you most recently provided has been rejected by Pearson. You can correct and submit it again before the exam registration closes on <strong>${exam_info.registration_end_date_text}</strong>.
<pclass="action">If the error is not correctable by revising your demographic information, please <aclass="contact-link"href="${exam_help_href}">contact edX at exam-help@edx.org</a>.</p>
</li>
% endif
<!-- then provide status of accommodations, if any -->
% if registration.accommodation_is_pending:
<liclass="item status status-pending status-accommodations">
<h4class="title">Accommodations Request</h4>
<pclass="details">Your requested accommodations are pending. Within a few days, you should see confirmation here of granted accommodations.</p>
</li>
% endif
% if registration.accommodation_is_accepted:
<liclass="item status status-processed status-accommodations">
<h4class="title">Accommodations Request</h4>
<pclass="details">Your requested accommodations have been reviewed and processed. You are allowed:</p>
<ulclass="accommodations-list">
% for accommodation_name in registration.get_accommodation_names():
<liclass="item">${accommodation_name}</li>
% endfor
</ul>
</li>
% endif
% if registration.accommodation_is_rejected:
<liclass="item status status-processed status-accommodations">
<h4class="title">Accommodations Request</h4>
<pclass="details">Your requested accommodations have been reviewed and processed. You are allowed no accommodations.</p>
<pclass="action">Please <aclass="contact-link"href="${exam_help_href}">contact edX at exam-help@edx.org</a> if you have any questions.</p>
</li>
% endif
<!-- finally provide status of registration -->
% if registration.registration_is_pending:
<liclass="item status status-pending status-registration">
<h4class="title">Registration Request</h4>
<pclass="details">Your exam registration is pending. Once your information is processed, it will be forwarded to Pearson and you will be able to schedule an exam.</p>
</li>
% endif
% if registration.registration_is_accepted:
<liclass="item status status-processed status-registration">
<h4class="title">Registration Request</h4>
<pclass="details">Your exam registration has been processed and has been forwarded to Pearson. <strong>You are now able to <ahref="${registration.registration_signup_url}"class="exam-link">schedule a Pearson exam</a></strong>.</p>
</li>
% endif
% if registration.registration_is_rejected:
<liclass="item status status-rejected status-registration">
<h4class="title">Registration Request</h4>
<pclass="details">Your exam registration has been rejected by Pearson. <strong>You currently cannot schedule an exam</strong>. The errors found include:</p>
<spanclass="label">Registration End Date:</span><spanclass="value">${exam_info.registration_end_date_text}</span>
</li>
</ul>
% endif
</div>
<divclass="details details-contact">
<h4>Questions</h4>
<p>If you have a specific question pertaining to your registration, you may contact <aclass="contact-link"href="${exam_help_href}">exam-help@edx.org</a>.</p>