.
This commit is contained in:
@@ -1,69 +1,69 @@
|
|||||||
{% extends 'anatomy/exams.html' %}
|
{% extends 'anatomy/exams.html' %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="anatomy">
|
<div class="anatomy">
|
||||||
<h2>{{ exam.name }}</h2>
|
<h2>{{ exam.name }}</h2>
|
||||||
|
|
||||||
{% if unmarked %}
|
{% if unmarked %}
|
||||||
<div class="alert alert-warning" role="alert">
|
<div class="alert alert-warning" role="alert">
|
||||||
The following questions need marking
|
The following questions need marking
|
||||||
{% for exam_index in unmarked %}
|
{% for exam_index in unmarked %}
|
||||||
<a href="{% url 'anatomy:mark' exam.pk exam_index %}">{{ exam_index|add:1 }}</a>
|
<a href="{% url 'anatomy:mark' exam.pk exam_index %}">{{ exam_index|add:1 }}</a>
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="stats-block">
|
|
||||||
<h3>Stats</h3>
|
|
||||||
Candidates: {{cids|length}}<br />
|
|
||||||
Max score: {{max_score}}<br />
|
|
||||||
Mean: {{mean}}, Median {{median}}, Mode {{mode}}
|
|
||||||
|
|
||||||
<div id="stats-plot">{{plot|safe}}</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<table class="table table-dark table-striped table-hover table-sm">
|
|
||||||
<tr>
|
|
||||||
<th>Candidate ID</th>
|
|
||||||
<th>Score</th>
|
|
||||||
</tr>
|
|
||||||
{% for user, value in user_answers_marks.items %}
|
|
||||||
<tr>
|
|
||||||
<td><a href="{% url 'cid_scores' user %}">{{user}}</a></td>
|
|
||||||
<td>{{user_scores|get_item:user}}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h3>Results as a table</h3>
|
|
||||||
<table class="table table-dark table-striped table-hover table-sm">
|
|
||||||
<thead class="thead-dark">
|
|
||||||
<tr>
|
|
||||||
<th>Candidate</th>
|
|
||||||
{% for cid in cids %}
|
|
||||||
<th>{{cid}}</th>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="stats-block">
|
||||||
|
<h3>Stats</h3>
|
||||||
|
Candidates: {{cids|length}}<br />
|
||||||
|
Max score: {{max_score}}<br />
|
||||||
|
Mean: {{mean}}, Median {{median}}, Mode {{mode}}
|
||||||
|
|
||||||
|
<div id="stats-plot">{{plot|safe}}</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<table class="table table-dark table-striped table-hover table-sm cid-score-table">
|
||||||
|
<tr>
|
||||||
|
<th>Candidate ID</th>
|
||||||
|
<th>Score</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
{% for user, value in user_answers_marks.items %}
|
||||||
{% for question in questions %}
|
<tr>
|
||||||
<tr>
|
<td><a href="{% url 'cid_scores' user %}">{{user}}</a></td>
|
||||||
<td>Question {{forloop.counter}}</td>
|
<td>{{user_scores|get_item:user}}</td>
|
||||||
{% for ans, score in by_question|get_item:question %}
|
</tr>
|
||||||
<td class="user-answer-score-{{score}}" title="answer score: {{score}}">{{ans}}</td>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tr>
|
</table>
|
||||||
{% endfor %}
|
</div>
|
||||||
<tr>
|
<div>
|
||||||
<td>Score:</td>
|
<h3>Results as a table</h3>
|
||||||
{% for score in user_scores_list %}
|
<table class="table table-dark table-striped table-hover table-sm">
|
||||||
<td>{{score}}</td>
|
<thead class="thead-dark">
|
||||||
{% endfor %}
|
<tr>
|
||||||
<tr>
|
<th>Candidate</th>
|
||||||
</table>
|
{% for cid in cids %}
|
||||||
|
<th><a href="{% url 'anatomy:exam_scores_cid_user' exam.pk cid %}">{{cid}}</a></th>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
</div>
|
</tr>
|
||||||
|
</thead>
|
||||||
|
{% for question in questions %}
|
||||||
|
<tr>
|
||||||
|
<td><a href="{% url 'anatomy:mark' pk=exam.pk sk=forloop.counter0 %}">Question {{forloop.counter}}</a></td>
|
||||||
|
{% for ans, score in by_question|get_item:question %}
|
||||||
|
<td class="user-answer-score-{{score}}" title="answer score: {{score}}">{{ans}}</td>
|
||||||
|
{% endfor %}
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
<tr>
|
||||||
|
<td>Score:</td>
|
||||||
|
{% for score in user_scores_list %}
|
||||||
|
<td>{{score}}</td>
|
||||||
|
{% endfor %}
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>Add Feedback</h2>
|
<h2>Add Feedback</h2>
|
||||||
<div class="alert alert-info" role="alert">
|
<div class="alert alert-info" role="alert">
|
||||||
Adding feedback for {{question_type}}/{{question.id}} ]
|
Adding feedback for {{question_type}}/{{question.id}}
|
||||||
|
|
||||||
{% if user.is_superuser %}
|
{% if user.is_superuser %}
|
||||||
<br/> {{question}}
|
<br/> {{question}}
|
||||||
|
|||||||
@@ -1,77 +1,77 @@
|
|||||||
{% extends 'rapids/exams.html' %}
|
{% extends 'rapids/exams.html' %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div id="stats-plot">{{plot|safe}}</div>
|
<div id="stats-plot">{{plot|safe}}</div>
|
||||||
<div class="rapids">
|
<div class="rapids">
|
||||||
<h2>{{ exam.name }}</h2>
|
<h2>{{ exam.name }}</h2>
|
||||||
|
|
||||||
{% if unmarked %}
|
{% if unmarked %}
|
||||||
<div class="alert alert-warning" role="alert">
|
<div class="alert alert-warning" role="alert">
|
||||||
The following questions need marking
|
The following questions need marking
|
||||||
{% for exam_index in unmarked %}
|
{% for exam_index in unmarked %}
|
||||||
<a href="{% url 'rapids:mark' exam.pk exam_index %}">{{ exam_index|add:1 }}</a>
|
<a href="{% url 'rapids:mark' exam.pk exam_index %}">{{ exam_index|add:1 }}</a>
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="stats-block">
|
|
||||||
<h3>Stats</h3>
|
|
||||||
Candidates: {{cids|length}}<br />
|
|
||||||
Max score: {{max_score}}<br />
|
|
||||||
Mean: {{mean}}, Median {{median}}, Mode {{mode}}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<table class="table table-dark table-striped table-hover table-sm cid-score-table">
|
|
||||||
<tr>
|
|
||||||
<th>Candidate ID</th>
|
|
||||||
<th>Score</th>
|
|
||||||
<th>Normalised Score</th>
|
|
||||||
</tr>
|
|
||||||
{% for user, value in user_answers_marks.items %}
|
|
||||||
<tr>
|
|
||||||
<td><a href="{% url 'cid_scores' user %}">{{user}}</a></td>
|
|
||||||
<td>{{user_scores|get_item:user}}</td>
|
|
||||||
<td>{{user_scores_normalised|get_item:user}}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h3>Answers as a table</h3>
|
|
||||||
<table class="table table-dark table-striped table-hover table-sm col-sm">
|
|
||||||
<thead class="thead-dark">
|
|
||||||
<tr>
|
|
||||||
<th>Candidate</th>
|
|
||||||
{% for cid in cids %}
|
|
||||||
<th><a href="{% url 'rapids:exam_scores_cid_user' exam.pk cid %}">{{cid}}</a></th>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="stats-block">
|
||||||
|
<h3>Stats</h3>
|
||||||
|
Candidates: {{cids|length}}<br />
|
||||||
|
Max score: {{max_score}}<br />
|
||||||
|
Mean: {{mean}}, Median {{median}}, Mode {{mode}}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<table class="table table-dark table-striped table-hover table-sm cid-score-table">
|
||||||
|
<tr>
|
||||||
|
<th>Candidate ID</th>
|
||||||
|
<th>Score</th>
|
||||||
|
<th>Normalised Score</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
{% for user, value in user_answers_marks.items %}
|
||||||
{% for question in questions %}
|
<tr>
|
||||||
<tr>
|
<td><a href="{% url 'cid_scores' user %}">{{user}}</a></td>
|
||||||
<td><a href="{% url 'rapids:mark' pk=exam.pk sk=forloop.counter0 %}">Question {{forloop.counter}}</a>
|
<td>{{user_scores|get_item:user}}</td>
|
||||||
{% if question.normal %}
|
<td>{{user_scores_normalised|get_item:user}}</td>
|
||||||
[N]
|
</tr>
|
||||||
{% else %}
|
|
||||||
[A]
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
{% for ans, score in by_question|get_item:question %}
|
|
||||||
<td class="rapid-ans user-answer-score-{{score}}" title="answer score: {{score}}">{{ans}}</td>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tr>
|
</table>
|
||||||
{% endfor %}
|
</div>
|
||||||
<tr>
|
<div>
|
||||||
<td>Score:</td>
|
<h3>Answers as a table</h3>
|
||||||
{% for score in user_scores_list %}
|
<table class="table table-dark table-striped table-hover table-sm col-sm">
|
||||||
<td>{{score}}</td>
|
<thead class="thead-dark">
|
||||||
{% endfor %}
|
<tr>
|
||||||
<tr>
|
<th>Candidate</th>
|
||||||
</table>
|
{% for cid in cids %}
|
||||||
|
<th><a href="{% url 'rapids:exam_scores_cid_user' exam.pk cid %}">{{cid}}</a></th>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
</div>
|
</tr>
|
||||||
|
</thead>
|
||||||
|
{% for question in questions %}
|
||||||
|
<tr>
|
||||||
|
<td><a href="{% url 'rapids:mark' pk=exam.pk sk=forloop.counter0 %}">Question {{forloop.counter}}</a></td>
|
||||||
|
{% if question.normal %}
|
||||||
|
[N]
|
||||||
|
{% else %}
|
||||||
|
[A]
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
{% for ans, score in by_question|get_item:question %}
|
||||||
|
<td class="rapid-ans user-answer-score-{{score}}" title="answer score: {{score}}">{{ans}}</td>
|
||||||
|
{% endfor %}
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
<tr>
|
||||||
|
<td>Score:</td>
|
||||||
|
{% for score in user_scores_list %}
|
||||||
|
<td>{{score}}</td>
|
||||||
|
{% endfor %}
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
Reference in New Issue
Block a user