Add question title field to QuestionForm and improve question review template for better feedback display

This commit is contained in:
Ross
2025-10-27 10:56:51 +00:00
parent 3dc38ef57a
commit 621e95cfd5
2 changed files with 31 additions and 6 deletions
+1
View File
@@ -129,6 +129,7 @@ class QuestionForm(ModelForm):
model = Question
fields = [
"title",
"stem",
"feedback",
"category",
@@ -2,16 +2,25 @@
{% block content %}
<div class="question-review-question mb-3">
{% if question.title %}
<h5 class="mb-1">Reviewing question: {{ question.title }}</h5>
<h5 class="mb-1">Reviewing question: {{ question.title |default:"No Title" }}</h5>
<a href="{% url 'sbas:question_detail' question.pk %}" target="_blank" class="btn btn-sm btn-outline-secondary mb-2">View full question details</a>
<a href="{% url 'sbas:question_update' question.pk %}" target="_blank" class="btn btn-sm btn-outline-secondary mb-2">Edit question</a>
Active filters:
{% if filters.category %}
<span class="badge bg-primary me-1">Category: {{ filters.category }}</span>
{% else %}
<span class="badge bg-secondary me-1">Category: Any</span>
{% endif %}
{% if filters.status %}
<span class="badge bg-primary me-1">Status: {{ filters.status }}</span>
{% else %}
<span class="badge bg-secondary me-1">Status: Any</span>
{% endif %}
<div class="mb-2">
{% if question.get_stem_stripped %}
<div class="question-stem">{{ question.get_stem_stripped|safe }}</div>
{% elif question.stem %}
<div class="question-stem">{{ question.stem|safe }}</div>
{% endif %}
</div>
{# Multiple-choice answers (SBA specific) #}
@@ -20,30 +29,45 @@
<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 %}
{% if question.a_feedback %}
<div class="mt-1"><strong>Feedback:</strong> {{ question.a_feedback|safe }}</div>
{% 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 %}
{% if question.b_feedback %}
<div class="mt-1"><strong>Feedback:</strong> {{ question.b_feedback|safe }}</div>
{% 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 %}
{% if question.c_feedback %}
<div class="mt-1"><strong>Feedback:</strong> {{ question.c_feedback|safe }}</div>
{% 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 %}
{% if question.d_feedback %}
<div class="mt-1"><strong>Feedback:</strong> {{ question.d_feedback|safe }}</div>
{% 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 %}
{% if question.e_feedback %}
<div class="mt-1"><strong>Feedback:</strong> {{ question.e_feedback|safe }}</div>
{% endif %}
</div>
{% endif %}
</div>