diff --git a/longs/templates/longs/mark_answer.html b/longs/templates/longs/mark_answer.html index 2a7f0e9f..f751ccbe 100644 --- a/longs/templates/longs/mark_answer.html +++ b/longs/templates/longs/mark_answer.html @@ -15,7 +15,14 @@ {% if not next_unmarked_id and not unmarked %} + overview
+ {% if previous_cid %} + Previous candidate + {% endif %} + {% if next_cid %} + Next candidate + {% endif %} + {% endif %} Marking CID: {{answer.cid}} ({{unmarked|length}} answer(s) left to mark) diff --git a/longs/views.py b/longs/views.py index d736e3ba..58d507f7 100755 --- a/longs/views.py +++ b/longs/views.py @@ -669,13 +669,24 @@ def mark_answer(request, pk, sk, cid): raise Http404("Exam question does not exist") - question.cid_user_answers.filter(exam__id=pk).values_list("cid", flat=True) + cid_list = question.cid_user_answers.filter(exam__id=pk).values_list("cid", flat=True) try: answer = question.cid_user_answers.get(cid=cid, exam__id=pk) except ObjectDoesNotExist: raise Http404("User answer does not exist") + previous_cid = False + next_cid = False + + if cid_list[0] == cid: + next_cid = cid_list[1] + elif cid_list[-1] == cid: + previous_cid = cid_list[-2] + else: + next_cid = cid_list[cid_list.index(cid)+1] + previous_cid = cid_list[cid_list.index(cid)-1] + try: unmarked = question.get_unmarked_answers() next_unmarked_id = unmarked[0].cid @@ -720,6 +731,8 @@ def mark_answer(request, pk, sk, cid): "question_details": question_details, "next_unmarked_id": next_unmarked_id, "unmarked": unmarked, + "previous_cid": previous_cid, + "next_cid": next_cid, }, )