This commit is contained in:
Ross
2021-10-16 09:33:19 +01:00
parent 26910f66c3
commit 9d032ed574
4 changed files with 19 additions and 5 deletions
+1 -1
View File
@@ -267,7 +267,7 @@ class Rapid(models.Model):
marker_unmarked = []
for answer in unmarked_answers:
if answer.mark.filter(marker=marker).count() < 1:
marker_unmarked.append(answer)
marker_unmarked.append(answer.answer_compare)
return marker_unmarked
+7 -1
View File
@@ -33,7 +33,13 @@ Region: {{ question.get_regions }}, Abnormalities: {{ question.get_abnormalities
<div class="marking">
<form method="POST" class="post-form">{% csrf_token %}
{% if not question.normal %}
Click each answer to toggle through marks awarded (as per colour)
Click each answer to toggle through marks awarded (as per colour)<br/>
{% if exam_answers_only %}
Showing exam answers only
{% else %}
Showing all answers
{% endif %}
<div class="marking-list">
Unmarked:
<ul id="new-answer-list" class="answer-list rapid">
+1
View File
@@ -43,6 +43,7 @@ urlpatterns = [
name="question_review",
),
path("exam/<int:pk>/<int:sk>/mark", views.mark, name="mark"),
path("exam/<int:pk>/<int:sk>/mark/all", views.mark_all, name="mark_all"),
path(
"exam/<int:pk>/mark", views.RapidExamViews.mark_overview, name="mark_overview"
),
+10 -3
View File
@@ -572,9 +572,12 @@ def loadJsonAnswer(answer):
return True, None
def mark_all(request, pk, sk):
return mark(request, pk, sk, exam_answers_only=False)
# @user_passes_test(user_is_admin, login_url="/accounts/login")
@login_required
def mark(request, pk, sk):
def mark(request, pk, sk, exam_answers_only=True):
exam = get_object_or_404(Exam, pk=pk)
questions = exam.exam_questions.all()
@@ -596,7 +599,7 @@ def mark(request, pk, sk):
for ans in question.answers.all():
answers_dict[ans.answer_compare] = ans
marked_answers_set = set(answers_dict.keys())
#marked_answers_set = set(answers_dict.keys())
# correct_answers = [i.answer.lower() for i in question.answers.all()]
# half_correct_answers = [
@@ -606,7 +609,10 @@ def mark(request, pk, sk):
# i.answer.lower() for i in question.incorrect_answers.all()
# ]
unmarked_user_answers = question.get_unmarked_user_answers()
if exam_answers_only:
unmarked_user_answers = question.get_unmarked_user_answers(exam_pk=pk)
else:
unmarked_user_answers = question.get_unmarked_user_answers()
if request.method == "POST":
@@ -722,6 +728,7 @@ def mark(request, pk, sk):
"correct_answers": correct_answers,
"half_mark_answers": half_mark_answers,
"incorrect_answers": incorrect_answers,
"exam_answers_only": exam_answers_only,
},
)