From 239812b5923052f37406821e0aafa6ad10caa777 Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 12 Sep 2021 10:01:59 +0100 Subject: [PATCH] . --- longs/models.py | 14 +++++++++++++- longs/views.py | 5 ++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/longs/models.py b/longs/models.py index a7667c96..3c45d652 100644 --- a/longs/models.py +++ b/longs/models.py @@ -191,8 +191,20 @@ class Long(models.Model): answers = self.cid_user_answers.all() else: answers = self.cid_user_answers.filter(exam__id=exam_pk) + + unmarked_answers = [ans for ans in answers if not ans.is_marked()] + + if marker is None: + return unmarked_answers + + # If marker is specified we check for what they have marker + marker_unmarked = [] + for answer in unmarked_answers: + if answer.mark.filter(marker=marker).count() < 1: + marker_unmarked.append(answer) - return [ans for ans in answers if not ans.is_marked()] + return marker_unmarked + def get_question_json(self, based=True): # self == q? diff --git a/longs/views.py b/longs/views.py index a3f02919..b4a806e1 100755 --- a/longs/views.py +++ b/longs/views.py @@ -671,7 +671,10 @@ def mark_answer(request, exam_id, question_number, cid): previous_cid = cid_list[cid_list.index(cid)-1] try: - unmarked = question.get_unmarked_answers(exam_pk=exam.id, marker=request.user) + if exam.double_mark: + unmarked = question.get_unmarked_answers(exam_pk=exam.id, marker=request.user) + else: + unmarked = question.get_unmarked_answers(exam_pk=exam.id) next_unmarked_id = unmarked[0].cid if next_unmarked_id == cid: next_unmarked_id = unmarked[1].cid