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' %} {% extends 'base.html' %}
{% block content %} {% block content %}
<div class="physics"> <div class="container physics my-3">
{% include 'user_score_header.html' %} {% 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> <div class="card">
<ol type="a"> <div class="card-body p-0">
{% for q, a, score, correct_answer in ans %} <ul class="list-group list-group-flush">
<li class="question-part"> {% for question, ans in answers_and_marks %}
<span class="question-text">{{q|safe}}:</span> {% if exam.publish_results %}<span class="correct-answer">Correct answer: {{correct_answer|safe}}</span>{% endif %} <li class="list-group-item">
<br /> <div class="d-flex align-items-start">
<span class="submitted-user-answer">{{a}}</span> <div class="me-3">
{% if exam.publish_results or view_all_results%} <span class="badge bg-secondary">{{ forloop.counter }}</span>
<span class="answer-{{score}}"> </div>
(Score: {{score}}) <div class="flex-grow-1">
</span> <div class="fw-bold mb-2">
{% endif %} {% if request.user.is_authenticated %}
{% if exam.publish_results %} <a href="{% url 'physics:exam_take_user' pk=exam.id sk=forloop.counter0 %}">Question {{forloop.counter}}</a>
{% if forloop.counter0 == 0 and question.a_feedback %} {% else %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.a_feedback|safe }}</div> <a href="{% url 'physics:exam_take' exam.pk forloop.counter0 cid passcode %}">Question {{forloop.counter}}</a>
{% elif forloop.counter0 == 1 and question.b_feedback %} {% endif %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.b_feedback|safe }}</div> - {{ question.stem|safe }}
{% elif forloop.counter0 == 2 and question.c_feedback %} </div>
<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="mb-2">
<div class="small text-muted mt-1 text-end">Feedback: {{ question.d_feedback|safe }}</div> <ol type="a" class="mb-0">
{% elif forloop.counter0 == 4 and question.e_feedback %} {% for q, a, score, correct_answer in ans %}
<div class="small text-muted mt-1 text-end">Feedback: {{ question.e_feedback|safe }}</div> <li class="d-flex justify-content-between align-items-start py-1">
{% endif %} <div><span class="me-2"></span><span>{{ q|safe }}</span></div>
{% endif %} <div class="text-end">
</li> {% if exam.publish_results %}
{% endfor %} <div class="text-primary fw-semibold">Correct answer: {{ correct_answer|safe }}</div>
</ol> {% endif %}
</li> <div class="submitted-user-answer">{{ a }}</div>
{% endfor %} {% if exam.publish_results or view_all_results %}
</ul> <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' %} {% include 'user_scores_footer.html' %}
</div> </div>
{% endblock %} {% endblock %}