diff --git a/rapids/models.py b/rapids/models.py index 7e5b3b5d..84f9f221 100644 --- a/rapids/models.py +++ b/rapids/models.py @@ -444,6 +444,9 @@ class CidUserAnswer(models.Model): if q.normal != self.normal: # If they don't match the answer is wrong (score is 0) return 0 + # If both are normal full marks + elif q.normal and self.normal: + return 2 # Then compare answer strings (as per anatomy questions) ans = self.answer_compare diff --git a/rapids/views.py b/rapids/views.py index ca1c3961..9575bfdb 100755 --- a/rapids/views.py +++ b/rapids/views.py @@ -923,14 +923,17 @@ def exam_scores_cid(request, pk): for q in questions: # Get user answer s = q.cid_user_answers.filter(cid=cid).first() - if not s: + + if q.normal and s.normal == q.normal: + ans = "Normal" + elif not s: # skip if no answer user_answers_marks[cid].append(0) user_answers[cid].append("") by_question[q].append(("", 0)) continue - - ans = s.answer + else: + ans = s.answer answer_score = s.get_answer_score() if answer_score == "unmarked": index = exam.get_question_index(q)