Refactor exam scores user template for improved layout and clarity

This commit is contained in:
Ross
2026-01-19 12:18:28 +00:00
parent dd7437bc66
commit ef03a97e9e
+65 -44
View File
@@ -1,52 +1,73 @@
{% extends 'base.html' %}
{% block content %}
<div class="physics">
<div class="container physics my-3">
{% include 'user_score_header.html' %}
<ul>
{% for question, ans in answers_and_marks %}
<li class="user-answer-li"><span class="question-stem-text">
{% if request.user.is_authenticated %}
<a href="{% url 'physics:exam_take_user' pk=exam.id sk=forloop.counter0 %}">
Question {{forloop.counter}}
</a>
{% else %}
<a href="{% url 'physics:exam_take' exam.pk forloop.counter0 cid passcode %}">
Question {{forloop.counter}}
</a>
{% endif %}
- {{ question.stem|safe }}</span>
<ol type="a">
{% for q, a, score, correct_answer in ans %}
<li class="question-part">
<span class="question-text">{{q|safe}}:</span> {% if exam.publish_results %}<span class="correct-answer">Correct answer: {{correct_answer|safe}}</span>{% endif %}
<br />
<span class="submitted-user-answer">{{a}}</span>
{% if exam.publish_results or view_all_results%}
<span class="answer-{{score}}">
(Score: {{score}})
</span>
{% endif %}
{% if exam.publish_results %}
{% if forloop.counter0 == 0 and question.a_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.a_feedback|safe }}</div>
{% elif forloop.counter0 == 1 and question.b_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.b_feedback|safe }}</div>
{% elif forloop.counter0 == 2 and question.c_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.c_feedback|safe }}</div>
{% elif forloop.counter0 == 3 and question.d_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.d_feedback|safe }}</div>
{% elif forloop.counter0 == 4 and question.e_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.e_feedback|safe }}</div>
{% endif %}
{% endif %}
</li>
{% endfor %}
</ol>
</li>
{% endfor %}
</ul>
<div class="card">
<div class="card-body p-0">
<ul class="list-group list-group-flush">
{% for question, ans in answers_and_marks %}
<li class="list-group-item">
<div class="d-flex align-items-start">
<div class="me-3">
<span class="badge bg-secondary">{{ forloop.counter }}</span>
</div>
<div class="flex-grow-1">
<div class="fw-bold mb-2">
{% if request.user.is_authenticated %}
<a href="{% url 'physics:exam_take_user' pk=exam.id sk=forloop.counter0 %}">Question {{forloop.counter}}</a>
{% else %}
<a href="{% url 'physics:exam_take' exam.pk forloop.counter0 cid passcode %}">Question {{forloop.counter}}</a>
{% endif %}
- {{ question.stem|safe }}
</div>
<div class="mb-2">
<ol type="a" class="mb-0">
{% for q, a, score, correct_answer in ans %}
<li class="d-flex justify-content-between align-items-start py-1">
<div><span class="me-2"></span><span>{{ q|safe }}</span></div>
<div class="text-end">
{% if exam.publish_results %}
<div class="text-primary fw-semibold">Correct answer: {{ correct_answer|safe }}</div>
{% endif %}
<div class="submitted-user-answer">{{ a }}</div>
{% if exam.publish_results or view_all_results %}
<div class="answer-{{score}} small">(Score: {{score}})</div>
{% endif %}
{% if exam.publish_results %}
{% if forloop.counter0 == 0 and question.a_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.a_feedback|safe }}</div>
{% elif forloop.counter0 == 1 and question.b_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.b_feedback|safe }}</div>
{% elif forloop.counter0 == 2 and question.c_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.c_feedback|safe }}</div>
{% elif forloop.counter0 == 3 and question.d_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.d_feedback|safe }}</div>
{% elif forloop.counter0 == 4 and question.e_feedback %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.e_feedback|safe }}</div>
{% endif %}
{% endif %}
</div>
</li>
{% endfor %}
</ol>
</div>
<div class="small text-muted">
Category: {{ question.category }}
<a href="{% url 'physics:question_detail' pk=question.pk %}">View</a>
<a href="{% url 'admin:physics_question_change' question.id %}" class="ms-2">Edit</a>
</div>
</div>
</div>
</li>
{% endfor %}
</ul>
</div>
</div>
{% include 'user_scores_footer.html' %}
</div>
{% endblock %}