number improvements (lets hope we don't break anything)
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
- Exam results reviewing
|
- Exam results reviewing
|
||||||
|
|
||||||
|
|
||||||
|
= Fix RTS results link for logged in users
|
||||||
|
|
||||||
|
|
||||||
# Ongoing
|
# Ongoing
|
||||||
|
|||||||
+1
-1
@@ -334,7 +334,7 @@ class Answer(models.Model):
|
|||||||
if self.answer:
|
if self.answer:
|
||||||
self.answer = self.answer.strip()
|
self.answer = self.answer.strip()
|
||||||
|
|
||||||
s = self.answer.lower()
|
s = " ".join(self.answer.lower().split())
|
||||||
s = s.translate(str.maketrans("", "", string.punctuation))
|
s = s.translate(str.maketrans("", "", string.punctuation))
|
||||||
|
|
||||||
self.answer_compare = s
|
self.answer_compare = s
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
<a href="{% url 'anatomy:mark_overview' pk=exam.pk %}">Mark</a> /
|
<a href="{% url 'anatomy:mark_overview' pk=exam.pk %}">Mark</a> /
|
||||||
<a href="{% url 'anatomy:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
<a href="{% url 'anatomy:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
||||||
<a href="{% url 'anatomy:exam_cids' exam_id=exam.pk %}">Candidates</a> /
|
<a href="{% url 'anatomy:exam_cids' exam_id=exam.pk %}">Candidates</a> /
|
||||||
|
<a href="{% url 'anatomy:exam_stats' exam_id=exam.pk %}">Stats</a> /
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="{% url 'anatomy:anatomy_create_exam' pk=exam.pk %}">Add New Question</a>
|
<a href="{% url 'anatomy:anatomy_create_exam' pk=exam.pk %}">Add New Question</a>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
+1
-1
@@ -880,7 +880,7 @@ class ExamBase(ExamCollectionGenericBase):
|
|||||||
<h2>{exam_name}</h2>
|
<h2>{exam_name}</h2>
|
||||||
|
|
||||||
<h3>Results</h3>
|
<h3>Results</h3>
|
||||||
Score: {user_score} / {int(self.stats_max_possible)} ({percentage})
|
Score: {user_score} / {int(self.stats_max_possible)} {percentage}
|
||||||
|
|
||||||
<h3>Stats</h3>
|
<h3>Stats</h3>
|
||||||
{stats}<br/>
|
{stats}<br/>
|
||||||
|
|||||||
+5
-5
@@ -979,13 +979,13 @@ class ExamViews(View, LoginRequiredMixin):
|
|||||||
if not request.user.is_superuser:
|
if not request.user.is_superuser:
|
||||||
raise PermissionDenied
|
raise PermissionDenied
|
||||||
|
|
||||||
cid_users = exam.valid_cid_users.all()
|
cid_users = exam.valid_cid_users.all()#.order_by("cid")#.prefetch_related("*")
|
||||||
cid_user_count = cid_users.count()
|
cid_user_count = len(cid_users)
|
||||||
|
|
||||||
user_users = exam.valid_user_users.all()
|
user_users = exam.valid_user_users.all()#.order_by("username")
|
||||||
user_user_count = user_users.count()
|
user_user_count = len(user_users)
|
||||||
|
|
||||||
user_exam_data = exam.cid_users.all()
|
user_exam_data = exam.cid_users.all().prefetch_related("cid_user", "user_user")
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
"exam": exam,
|
"exam": exam,
|
||||||
|
|||||||
@@ -8,4 +8,5 @@
|
|||||||
<a href="{% url 'longs:mark_overview' pk=exam.pk %}">Mark</a> /
|
<a href="{% url 'longs:mark_overview' pk=exam.pk %}">Mark</a> /
|
||||||
<a href="{% url 'longs:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
<a href="{% url 'longs:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
||||||
<a href="{% url 'longs:exam_cids' exam_id=exam.pk %}">Candidates</a> /
|
<a href="{% url 'longs:exam_cids' exam_id=exam.pk %}">Candidates</a> /
|
||||||
|
<a href="{% url 'longs:exam_stats' exam_id=exam.pk %}">Stats</a> /
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -5,5 +5,6 @@
|
|||||||
<br/>
|
<br/>
|
||||||
Exams: {{exam.name}}-> <a href="{% url 'physics:exam_overview' pk=exam.pk %}">Overview</a> /
|
Exams: {{exam.name}}-> <a href="{% url 'physics:exam_overview' pk=exam.pk %}">Overview</a> /
|
||||||
<a href="{% url 'physics:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
<a href="{% url 'physics:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
||||||
<a href="{% url 'physics:exam_cids' exam_id=exam.pk %}">Candidates</a>
|
<a href="{% url 'physics:exam_cids' exam_id=exam.pk %}">Candidates</a> /
|
||||||
|
<a href="{% url 'physics:exam_stats' exam_id=exam.pk %}">Stats</a> /
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
<a href="{% url 'rapids:mark_overview' pk=exam.pk %}">Mark</a> /
|
<a href="{% url 'rapids:mark_overview' pk=exam.pk %}">Mark</a> /
|
||||||
<a href="{% url 'rapids:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
<a href="{% url 'rapids:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
||||||
<a href="{% url 'rapids:exam_cids' exam_id=exam.pk %}">Candidates</a> /
|
<a href="{% url 'rapids:exam_cids' exam_id=exam.pk %}">Candidates</a> /
|
||||||
|
<a href="{% url 'rapids:exam_stats' exam_id=exam.pk %}">Stats</a> /
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="{% url 'rapids:rapid_create_exam' pk=exam.pk %}">Add New Question</a>
|
<a href="{% url 'rapids:rapid_create_exam' pk=exam.pk %}">Add New Question</a>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -7,4 +7,5 @@
|
|||||||
<a href="{% url 'sbas:exam_overview' pk=exam.pk %}">Overview</a> /
|
<a href="{% url 'sbas:exam_overview' pk=exam.pk %}">Overview</a> /
|
||||||
<a href="{% url 'sbas:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
<a href="{% url 'sbas:exam_scores_all' pk=exam.pk %}">Scores</a> /
|
||||||
<a href="{% url 'sbas:exam_cids' exam_id=exam.pk %}">Candidates</a> /
|
<a href="{% url 'sbas:exam_cids' exam_id=exam.pk %}">Candidates</a> /
|
||||||
|
<a href="{% url 'sbas:exam_stats' exam_id=exam.pk %}">Stats</a> /
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -1,19 +1,11 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>{{exam.name}}</h2>
|
<h2>{{exam.name}}: Stats</h2>
|
||||||
|
|
||||||
|
|
||||||
{% if exam.stats_candidates < 4 %}
|
{% if exam.stats_candidates < 4 %}
|
||||||
Not enough data points...
|
Not enough data points...
|
||||||
{% else %}
|
{% else %}
|
||||||
|
{% include "exam_stats_block.html" %}
|
||||||
<div id="stats-plot">{{exam.stats_graph|safe}}</div>
|
|
||||||
|
|
||||||
Available marks: {{exam.stats_max_possible}}<br />
|
|
||||||
Mean: {{exam.stats_mean}}, Median {{exam.stats_median}}, Mode {{exam.stats_mode}}<br />
|
|
||||||
Top score: {{exam.stats_max}}
|
|
||||||
|
|
||||||
<p class="small-gray">Note: scores < 10% of the total score are excluded from these statistics
|
<p class="small-gray">Note: scores < 10% of the total score are excluded from these statistics
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<div id="stats-plot">{{exam.stats_graph|safe}}</div>
|
||||||
|
|
||||||
|
Available marks: {{exam.stats_max_possible}}<br />
|
||||||
|
Mean: {{exam.stats_mean}}, Median {{exam.stats_median}}, Mode {{exam.stats_mode}}<br />
|
||||||
|
Top score: {{exam.stats_max}}
|
||||||
Reference in New Issue
Block a user