diff --git a/rapids/views.py b/rapids/views.py index 3899c169..567b617e 100755 --- a/rapids/views.py +++ b/rapids/views.py @@ -683,7 +683,7 @@ def mark(request, exam_pk, sk, unmarked_exam_answers_only=True, review=False): unmarked_user_answers = question.get_unmarked_user_answers() - if review or not unmarked_exam_answers_only: + if not unmarked_exam_answers_only: correct_answers = question.answers.filter(status=Answer.MarkOptions.CORRECT) half_mark_answers = question.answers.filter(status=Answer.MarkOptions.HALF_MARK) incorrect_answers = question.answers.filter(status=Answer.MarkOptions.INCORRECT) @@ -691,13 +691,15 @@ def mark(request, exam_pk, sk, unmarked_exam_answers_only=True, review=False): if review: for ans in unmarked_user_answers: print(ans, half_mark_answers) + marked_ans = question.answers.filter(answer_compare__iexact=ans).first() mark = "unmarked" - if ans in correct_answers: - mark = "correct" - elif ans in half_mark_answers: - mark = "half-mark" - elif ans in incorrect_answers: - mark = "incorrect" + if marked_ans is not None: + if marked_ans.status == Answer.MarkOptions.CORRECT: + mark = 2 + elif marked_ans.status == Answer.MarkOptions.HALF_MARK: + mark = 1 + elif marked_ans.status == Answer.MarkOptions.INCORRECT: + mark = 0 review_user_answers.append((ans, mark))