Enhance question review template with active filters and improved metadata display
This commit is contained in:
@@ -1,87 +1,121 @@
|
||||
{% extends 'sbas/base.html' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="question-review-question mb-3">
|
||||
<h5 class="mb-1">Reviewing question: {{ question.title |default:"No Title" }}</h5>
|
||||
<div class="question-review-question mb-3">
|
||||
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 %}
|
||||
<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>
|
||||
<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">
|
||||
<div class="question-stem">{{ question.stem|safe }}</div>
|
||||
</div>
|
||||
<div class="question-metadata mt-2 mb-2">
|
||||
<h6 class="small text-muted">Metadata</h6>
|
||||
<ul class="list-inline small mb-0">
|
||||
<li class="list-inline-item me-2">Category: {% if question.category %}{{ question.category }}{% else %}—{% endif %}</li>
|
||||
<li class="list-inline-item me-2">Author(s):
|
||||
{% if question.author.count %}
|
||||
{% for a in question.author.all %}
|
||||
{{ a.get_full_name|default:a.username }}{% if not forloop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
{% else %}—{% endif %}
|
||||
</li>
|
||||
<li class="list-inline-item me-2">Created: {{ question.created_date|date:"Y-m-d H:i" }}</li>
|
||||
<li class="list-inline-item me-2">Open: {% if question.open_access %}Yes{% else %}No{% endif %}</li>
|
||||
{% if question.sources %}
|
||||
<li class="list-inline-item me-2">Sources: {{ question.sources|length }} item{{ question.sources|length|pluralize }}</li>
|
||||
{% endif %}
|
||||
{% if question.finding.count %}
|
||||
<li class="list-inline-item me-2">Findings: {{ question.finding.count }}</li>
|
||||
{% endif %}
|
||||
{% if question.structure.count %}
|
||||
<li class="list-inline-item me-2">Structures: {{ question.structure.count }}</li>
|
||||
{% endif %}
|
||||
{% if question.condition.count %}
|
||||
<li class="list-inline-item me-2">Conditions: {{ question.condition.count }}</li>
|
||||
{% endif %}
|
||||
{% if question.presentation.count %}
|
||||
<li class="list-inline-item me-2">Presentations: {{ question.presentation.count }}</li>
|
||||
{% endif %}
|
||||
{% if question.subspecialty.count %}
|
||||
<li class="list-inline-item me-2">Subspecialties: {{ question.subspecialty.count }}</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="mb-2">
|
||||
<div class="question-stem">Stem: {{ question.stem|safe }}</div>
|
||||
</div>
|
||||
|
||||
{# 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 %}
|
||||
{% 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>
|
||||
<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 %}
|
||||
{% 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>
|
||||
|
||||
{# Generic feedback text if present #}
|
||||
{% if question.feedback %}
|
||||
<div class="mt-2"><strong>Feedback:</strong> {{ question.feedback|safe }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if question.feedback %}
|
||||
<div class="mt-2"><strong>Feedback:</strong> {{ question.feedback|safe }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% comment %} <span class="btn btn-sm btn-outline-success" data-bs-toggle="modal" data-bs-target="#reviewModal" hx-get="{% url 'sbas:question_set_review' question.pk %}?edit=1&new=1" hx-target="#review-form" hx-swap="innerHTML" hx-trigger="load">Add Review</button> {% endcomment %}
|
||||
|
||||
<form id="review-form">
|
||||
{% include 'generic/partials/question_review_form.html' with app_name='sbas' question=question form=form %}
|
||||
</form>
|
||||
<form id="review-form">
|
||||
{% include 'generic/partials/question_review_form.html' with app_name='sbas' question=question form=form %}
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user