Improve candidate display in exams

This commit is contained in:
Ross
2023-06-19 10:55:08 +01:00
parent c99fb5a3d6
commit 5ca1d5b44e
4 changed files with 26 additions and 11 deletions
+6 -6
View File
@@ -4,11 +4,10 @@
{% if cid_users %} {% if cid_users %}
<p>{{cid_user_count}} CID candidates.</p> <p>{{cid_user_count}} CID candidates.</p>
<ol> <ol class="cid-candidate-list">
{% for cid in cid_users %} {% for cid in cid_users %}
<li class="cid-user" data-cid={{cid.cid}}><a href="{% url 'generic:update_cid' cid.pk %}">{{cid.cid}}</a> [{{cid.passcode}}] {{cid.name}} / <li class="cid-user" data-cid={{cid.cid}}><div class="cid-data"><a href="{% url 'generic:update_cid' cid.pk %}">{{cid.cid}}</a> [{{cid.passcode}}]</div><div class="cid-name">{{cid.name}}</div> <div class="cid-email">Email: {{cid.email}}</div>
Email: {{cid.email}}
</li> </li>
{% endfor %} {% endfor %}
@@ -27,11 +26,11 @@
{% if user_users %} {% if user_users %}
<p>{{user_user_count}} User candidates.</p> <p>{{user_user_count}} User candidates.</p>
<ol> <ol class="cid-candidate-list">
{% for user in user_users %} {% for user in user_users %}
<li class="user-user" data-user="{{user.username}}">{{user.username}} <li class="user-user" data-user="{{user.username}}"><div>{{user.username}}</div>
Email: {{user.email}} <div>Email: {{user.email}}</div>
</li> </li>
{% endfor %} {% endfor %}
@@ -51,6 +50,7 @@
<summary> <summary>
<h3>Submitted candidates</h3> <h3>Submitted candidates</h3>
</summary> </summary>
The following candidate submissions have been received. Candidates with submissions will be shown in green above.
<ul id="submitted-candidates"> <ul id="submitted-candidates">
{% for user_data in user_exam_data %} {% for user_data in user_exam_data %}
<li data-cid="{{user_data.cid_user}}" data-user="{{user_data.user_user}}"> <li data-cid="{{user_data.cid_user}}" data-user="{{user_data.user_user}}">
@@ -1,7 +1,6 @@
{% extends exam.app_name|add:'/exams.html' %} {% extends exam.app_name|add:'/exams.html' %}
{% block content %} {% block content %}
<div id="stats-plot">{{plot|safe}}</div>
<div class=""> <div class="">
<h2>{{ exam.name }}</h2> <h2>{{ exam.name }}</h2>
{% if cached_scores %} {% if cached_scores %}
@@ -19,8 +18,8 @@
{% if missing_users %} {% if missing_users %}
<div class="alert alert-warning" role="alert"> <div class="alert alert-warning" role="alert">
The following users results have not been submitted: The following users results have not been submitted:
{% for user_id in missing_users %} {% for user in missing_users %}
{{user_id}}, {{user}} ({{user.id}}),
{% endfor %} {% endfor %}
</div> </div>
{% endif %} {% endif %}
@@ -34,6 +33,7 @@
{% endif %} {% endif %}
</div> </div>
<div id="stats-plot">{{plot|safe}}</div>
<div id="stats-block"> <div id="stats-block">
<h3>Stats</h3> <h3>Stats</h3>
Candidates: {{cids|length}}<br /> Candidates: {{cids|length}}<br />
+7 -1
View File
@@ -2076,10 +2076,16 @@ class ExamViews(View, LoginRequiredMixin):
exam.save() exam.save()
missing_user_ids = valid_user_users - user_ids
missing_users = []
if missing_user_ids:
missing_users = User.objects.filter(pk__in=missing_user_ids)
template_variables = { template_variables = {
"cids": sorted(cids), "cids": sorted(cids),
"missing_cids": valid_cid_users - plain_cids, "missing_cids": valid_cid_users - plain_cids,
"missing_users": valid_user_users - user_ids, "missing_users": missing_users,
# "cid_passcodes": cid_passcodes, # "cid_passcodes": cid_passcodes,
"exam": exam, "exam": exam,
"unmarked": unmarked, "unmarked": unmarked,
+9
View File
@@ -960,3 +960,12 @@ form .submit-button {
h1, h2, h3, h4, h5, h6 { h1, h2, h3, h4, h5, h6 {
margin-top: 10px; margin-top: 10px;
} }
.cid-candidate-list li {
display: grid;
grid-template-columns: 150px repeat(auto-fill, 400px);
}
.cid-candidate-list div {
}