The content library tests were failing to locate templates when rendering XBlocks, but since these tests are skipped in CI, the issue went undetected. This fix is marked temporary because a proper fix involves adding lms/templates to the cms.envs.test MAKO_TEMPLATE_DIRS_BASE list. This was tried, and caused unrelated tests to fail, and so we took this approach instead. See PR for full details.
97 lines
4.8 KiB
HTML
97 lines
4.8 KiB
HTML
<!--
|
|
common/test/problem.html
|
|
Placeholder template for openedx content_library tests -->
|
|
<%page expression_filter="h"/>
|
|
<%!
|
|
from django.utils.translation import ngettext, gettext as _
|
|
from openedx.core.djangolib.markup import HTML
|
|
%>
|
|
|
|
<%namespace name='static' file='static_content.html'/>
|
|
<h3 class="hd hd-3 problem-header" id="${ short_id }-problem-title" aria-describedby="${ id }-problem-progress" tabindex="-1">
|
|
${ problem['name'] }
|
|
</h3>
|
|
|
|
<div class="problem-progress" id="${ id }-problem-progress"></div>
|
|
|
|
<div class="problem">
|
|
${ HTML(problem['html']) }
|
|
<div class="action">
|
|
<input type="hidden" name="problem_id" value="${ problem['name'] }" />
|
|
|
|
<div class="problem-action-buttons-wrapper">
|
|
% if demand_hint_possible:
|
|
<span class="problem-action-button-wrapper">
|
|
<button type="button" class="hint-button problem-action-btn btn-link btn-small" data-value="${_('Hint')}" ${'' if should_enable_next_hint else 'disabled'}>${_('Hint')}</button>
|
|
</span>
|
|
% endif
|
|
% if save_button:
|
|
<span class="problem-action-button-wrapper">
|
|
<button type="button" class="save problem-action-btn btn-link btn-small" data-value="${_('Save')}">
|
|
<span aria-hidden="true">${_('Save')}</span>
|
|
<span class="sr">${_("Save your answer")}</span>
|
|
</button>
|
|
</span>
|
|
% endif
|
|
% if reset_button:
|
|
<span class="problem-action-button-wrapper">
|
|
<button type="button" class="reset problem-action-btn btn-link btn-small" data-value="${_('Reset')}"><span aria-hidden="true">${_('Reset')}</span><span class="sr">${_("Reset your answer")}</span></button>
|
|
</span>
|
|
% endif
|
|
% if answer_available:
|
|
<span class="problem-action-button-wrapper">
|
|
<button type="button" class="show problem-action-btn btn-link btn-small" aria-describedby="${ short_id }-problem-title"><span class="show-label">${_('Show answer')}</span></button>
|
|
</span>
|
|
% endif
|
|
</div>
|
|
<div class="submit-attempt-container">
|
|
<button type="button" class="submit btn-brand" data-submitting="${ submit_button_submitting }" data-value="${ submit_button }" data-should-enable-submit-button="${ should_enable_submit_button }" aria-describedby="submission_feedback_${short_id}" ${'' if should_enable_submit_button else 'disabled'}>
|
|
<span class="submit-label">${ submit_button }</span>
|
|
</button>
|
|
|
|
% if submit_disabled_cta:
|
|
% if submit_disabled_cta.get('event_data'):
|
|
<button class="submit-cta-link-button btn-link btn-small" onclick="emit_event(${submit_disabled_cta['event_data']})">
|
|
${submit_disabled_cta['link_name']}
|
|
</button>
|
|
<span class="submit-cta-description" tabindex="0" role="note" aria-label="description">
|
|
<span data-tooltip="${submit_disabled_cta['description']}" data-tooltip-show-on-click="true"
|
|
class="fa fa-info-circle fa-lg" aria-hidden="true">
|
|
</span>
|
|
</span>
|
|
<span class="sr">(${submit_disabled_cta['description']})</span>
|
|
% else:
|
|
<form class="submit-cta" method="post" action="${submit_disabled_cta['link']}">
|
|
<input type="hidden" id="csrf_token" name="csrfmiddlewaretoken" value="${csrf_token}">
|
|
% for form_name, form_value in submit_disabled_cta['form_values'].items():
|
|
<input type="hidden" name="${form_name}" value="${form_value}">
|
|
% endfor
|
|
<button class="submit-cta-link-button btn-link btn-small">
|
|
${submit_disabled_cta['link_name']}
|
|
</button>
|
|
<span class="submit-cta-description" tabindex="0" role="note" aria-label="description">
|
|
<span data-tooltip="${submit_disabled_cta['description']}" data-tooltip-show-on-click="true"
|
|
class="fa fa-info-circle fa-lg" aria-hidden="true">
|
|
</span>
|
|
</span>
|
|
<span class="sr">(${submit_disabled_cta['description']})</span>
|
|
</form>
|
|
% endif
|
|
% endif
|
|
<div class="submission-feedback ${'cta-enabled' if submit_disabled_cta else ''}" id="submission_feedback_${short_id}">
|
|
## When attempts are not 0, the CTA above will contain a message about the number of used attempts
|
|
% if attempts_allowed and (not submit_disabled_cta or attempts_used == 0):
|
|
${ngettext("You have used {num_used} of {num_total} attempt", "You have used {num_used} of {num_total} attempts", attempts_allowed).format(num_used=attempts_used, num_total=attempts_allowed)}
|
|
% endif
|
|
<span class="sr">${_("Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.")}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
function emit_event(message) {
|
|
parent.postMessage(message, '*');
|
|
}
|
|
</script>
|