Currently, if a subsection was a special exam, we do not allow it to be changed back as a special exam. This PR would loosen that change to only disallow reintroducing the exam back to proctored exam. Timed exam can be updated however the user wants Co-authored-by: Simon Chen <schen@edX-C02FW0GUML85.local>
103 lines
7.6 KiB
Plaintext
103 lines
7.6 KiB
Plaintext
<form>
|
|
<h3 class="modal-section-title"><%- gettext('Set as a Special Exam') %></h3>
|
|
<div class="modal-section-content has-actions">
|
|
<div class="list-fields list-input exam-types" role="group" aria-label="<%- gettext('Exam Types') %>">
|
|
<% if (proctoredExamLockedIn && !isProctoredExam) { %>
|
|
<div class="summary-message summary-message-warning">
|
|
<span class="icon fa fa-exclamation-triangle" aria-hidden="true"></span>
|
|
<p class="copy">
|
|
<%- gettext("This subsection was released to learners as a proctored exam, but was reverted back to a basic or timed exam. You may not configure it as a proctored exam now. Contact edX Support for assistance.") %>
|
|
</p>
|
|
</div>
|
|
<% } %>
|
|
<% if (proctoredExamLockedIn && isProctoredExam) { %>
|
|
<div class="summary-message summary-message-warning">
|
|
<span class="icon fa fa-exclamation-triangle" aria-hidden="true"></span>
|
|
<p class="copy">
|
|
<%- gettext("This proctored exam has been released to learners. You may not convert it to another type of special exam. You may revert this subsection back to being a basic exam by selecting 'None', or a timed exam, but you will NOT be able to configure it as a proctored exam in the future.") %>
|
|
</p>
|
|
</div>
|
|
<% } %>
|
|
<label class="label no-descriptive-text">
|
|
<input type="radio" name="exam_type" class="input input-radio no_special_exam" checked="checked"/>
|
|
<%- gettext('None') %>
|
|
</label>
|
|
<label class="label">
|
|
<input type="radio" name="exam_type" class="input input-radio timed_exam"
|
|
aria-describedby="timed-exam-description"
|
|
/>
|
|
<%- gettext('Timed') %>
|
|
</label>
|
|
<p class='field-message' id='timed-exam-description'> <%- gettext('Use a timed exam to limit the time learners can spend on problems in this subsection. Learners must submit answers before the time expires. You can allow additional time for individual learners through the Instructor Dashboard.') %> </p>
|
|
<% if (enableProctoredExams) { %>
|
|
<label class="label">
|
|
<input type="radio" name="exam_type" class="input input-radio proctored_exam"
|
|
aria-describedby="proctored-exam-description"
|
|
<%- proctoredExamLockedIn && (!isProctoredExam || isOnboardingExam) ? 'disabled' : '' %>
|
|
/>
|
|
<%- gettext('Proctored') %>
|
|
</label>
|
|
<p class='field-message' id='proctored-exam-description'> <%- gettext('Proctored exams are timed and they record video of each learner taking the exam. The videos are then reviewed to ensure that learners follow all examination rules. Please note that setting this exam as proctored will change the visibility settings to "Hide content after due date."') %> </p>
|
|
|
|
<% var supports_onboarding = xblockInfo.get('supports_onboarding'); %>
|
|
<% if (supports_onboarding) { %>
|
|
<label class="label">
|
|
<input type="radio" name="exam_type" class="input input-radio onboarding_exam"
|
|
aria-describedby="onboarding-exam-description"
|
|
<%- proctoredExamLockedIn && !isOnboardingExam ? 'disabled' : '' %>
|
|
/>
|
|
<%- gettext('Onboarding') %>
|
|
</label>
|
|
<p class='field-message' id='onboarding-exam-description'> <%- gettext("Use Onboarding to introduce learners to proctoring, verify their identity, and create an onboarding profile. Learners must complete the onboarding profile step prior to taking a proctored exam. Profile reviews take 2+ business days.") %> </p>
|
|
<% } else { %>
|
|
<label class="label">
|
|
<input type="radio" name="exam_type" class="input input-radio practice_exam"
|
|
aria-describedby="practice-exam-description"
|
|
<%- proctoredExamLockedIn && !isPracticeExam ? 'disabled' : '' %>
|
|
/>
|
|
<%- gettext('Practice Proctored') %>
|
|
</label>
|
|
<p class='field-message' id='practice-exam-description'> <%- gettext("Use a practice proctored exam to introduce learners to the proctoring tools and processes. Results of a practice exam do not affect a learner's grade.") %> </p>
|
|
<% } %>
|
|
<% } %>
|
|
</div>
|
|
<div class="list-fields list-input exam-options">
|
|
<div class="field field-text field-time-limit">
|
|
<label class="label">
|
|
<%- gettext('Time Allotted (HH:MM):') %>
|
|
<input type="text" value="" aria-describedby="time-limit-description" placeholder="HH:MM"
|
|
class="time_limit release-time time input input-text" autocomplete="off" />
|
|
</label>
|
|
<p class='field-message' id='time-limit-description'><%- gettext('Select a time allotment for the exam. If it is over 24 hours, type in the amount of time. You can grant individual learners extra time to complete the exam through the Instructor Dashboard.') %></p>
|
|
</div>
|
|
<% var show_review_rules = xblockInfo.get('show_review_rules'); %>
|
|
<% if (show_review_rules) { %>
|
|
<div class="field field-text field-exam-review-rules">
|
|
<label class="label">
|
|
<%- gettext('Review Rules') %>
|
|
<textarea cols="50" maxlength="255" aria-describedby="review-rules-description"
|
|
class="review-rules input input-text" autocomplete="off" />
|
|
</label>
|
|
<% var online_proctoring_rules = xblockInfo.get('online_proctoring_rules'); %>
|
|
<p class='field-message' id='review-rules-description'>
|
|
<% if (online_proctoring_rules) { %>
|
|
<% // xss-lint: disable=underscore-not-escaped %>
|
|
<%= edx.HtmlUtils.interpolateHtml(
|
|
gettext('Specify any rules or rule exceptions that the proctoring review team should enforce when reviewing the videos. For example, you could specify that calculators are allowed. These specified rules are visible to learners before the learners start the exam, along with the {linkStart}general proctored exam rules{linkEnd}.'),
|
|
{
|
|
linkStart: edx.HtmlUtils.interpolateHtml(
|
|
edx.HtmlUtils.HTML('<a href="{onlineProctoringUrl}" title="{onlineProctoringTitle}">'),
|
|
{ onlineProctoringUrl: online_proctoring_rules, onlineProctoringTitle: gettext('General Proctored Exam Rules')}),
|
|
linkEnd: edx.HtmlUtils.HTML('</a>')
|
|
})
|
|
%>
|
|
<% } else { %>
|
|
<%- gettext('Specify any rules or rule exceptions that the proctoring review team should enforce when reviewing the videos. For example, you could specify that calculators are allowed. These specified rules are visible to learners before the learners start the exam.') %>
|
|
<% } %>
|
|
</p>
|
|
</div>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
</form>
|