Refactor question review template for improved readability and structure; enhance question title display and answer rendering

This commit is contained in:
Ross
2025-10-27 10:28:40 +00:00
parent 8380ca1dd9
commit a404a335c0
@@ -1,7 +1,9 @@
{# Generic question display used in review UI. Tries to be resilient across apps. #}
{% extends 'sbas/base.html' %}
{% block content %}
<div class="question-review-question mb-3">
{% if question.title %}
<h5 class="mb-1">{{ question.title }}</h5>
<h5 class="mb-1">Reviewing question: {{ question.title }}</h5>
{% endif %}
<div class="mb-2">
@@ -12,29 +14,46 @@
{% endif %}
</div>
{# Multiple-choice answers (SBA style) #}
{% if question.get_answers is defined or question.a_answer is defined %}
<div class="list-group mb-2">
{% for code,label in (('a','A'),('b','B'),('c','C'),('d','D'),('e','E')) %}
{% with ans=getattr(question, code|add:'_answer', None) %}
{% if ans %}
<div class="list-group-item d-flex justify-content-between align-items-start">
<div>
<strong>{{ label }}.</strong>
<span class="ms-2">{{ ans|safe }}</span>
</div>
{% if question.best_answer and question.best_answer == code %}
<span class="badge bg-success">Correct</span>
{% endif %}
</div>
{% endif %}
{% endwith %}
{% endfor %}
</div>
{% endif %}
{# Multiple-choice answers (SBA specific) #}
<div class="list-group mb-2">
{% if question.a_answer %}
<div class="list-group-item d-flex justify-content-between align-items-start">
<div><strong>A.</strong> <span class="ms-2">{{ question.a_answer|safe }}</span></div>
{% if question.best_answer == 'a' %}<span class="badge bg-success">Correct</span>{% endif %}
</div>
{% endif %}
{% if question.b_answer %}
<div class="list-group-item d-flex justify-content-between align-items-start">
<div><strong>B.</strong> <span class="ms-2">{{ question.b_answer|safe }}</span></div>
{% if question.best_answer == 'b' %}<span class="badge bg-success">Correct</span>{% endif %}
</div>
{% endif %}
{% if question.c_answer %}
<div class="list-group-item d-flex justify-content-between align-items-start">
<div><strong>C.</strong> <span class="ms-2">{{ question.c_answer|safe }}</span></div>
{% if question.best_answer == 'c' %}<span class="badge bg-success">Correct</span>{% endif %}
</div>
{% endif %}
{% if question.d_answer %}
<div class="list-group-item d-flex justify-content-between align-items-start">
<div><strong>D.</strong> <span class="ms-2">{{ question.d_answer|safe }}</span></div>
{% if question.best_answer == 'd' %}<span class="badge bg-success">Correct</span>{% endif %}
</div>
{% endif %}
{% if question.e_answer %}
<div class="list-group-item d-flex justify-content-between align-items-start">
<div><strong>E.</strong> <span class="ms-2">{{ question.e_answer|safe }}</span></div>
{% if question.best_answer == 'e' %}<span class="badge bg-success">Correct</span>{% endif %}
</div>
{% endif %}
</div>
{# Generic feedback text if present #}
{% if question.feedback %}
<div class="mt-2"><strong>Feedback:</strong> {{ question.feedback|safe }}</div>
{% endif %}
</div>
{% endblock %}