.
This commit is contained in:
+10
-10
@@ -635,12 +635,12 @@ def loadJsonAnswer(answer):
|
||||
@login_required
|
||||
@user_is_long_marker
|
||||
@reversion.create_revision()
|
||||
def mark_answer(request, pk, sk, cid):
|
||||
exam = get_object_or_404(Exam, pk=pk)
|
||||
def mark_answer(request, exam_id, question_number, cid):
|
||||
exam = get_object_or_404(Exam, pk=exam_id)
|
||||
|
||||
questions = exam.exam_questions.all()
|
||||
|
||||
n = sk
|
||||
n = question_number
|
||||
|
||||
question_details = {
|
||||
"total": len(questions),
|
||||
@@ -648,16 +648,16 @@ def mark_answer(request, pk, sk, cid):
|
||||
}
|
||||
|
||||
try:
|
||||
question = questions[sk]
|
||||
question = questions[question_number]
|
||||
except IndexError:
|
||||
raise Http404("Exam question does not exist")
|
||||
|
||||
try:
|
||||
answer = question.cid_user_answers.get(cid=cid, exam__id=pk)
|
||||
answer = question.cid_user_answers.get(cid=cid, exam__id=exam_id)
|
||||
except ObjectDoesNotExist:
|
||||
raise Http404("User answer does not exist")
|
||||
|
||||
cid_list = list(question.cid_user_answers.filter(exam__id=pk).values_list("cid", flat=True))
|
||||
cid_list = list(question.cid_user_answers.filter(exam__id=exam_id).values_list("cid", flat=True))
|
||||
|
||||
previous_cid = False
|
||||
next_cid = False
|
||||
@@ -686,18 +686,18 @@ def mark_answer(request, pk, sk, cid):
|
||||
# If skip button is pressed skip the question without marking
|
||||
# Skip is problematic if we skip to the next unmarked answer
|
||||
#if "skip" in request.POST:
|
||||
# return redirect("longs:mark_answer", pk=pk, sk=sk, cid=next_unmarked_id)
|
||||
# return redirect("longs:mark_answer", pk=exam_id, sk=question_number, cid=next_unmarked_id)
|
||||
|
||||
# Extract score from form and save it to the object
|
||||
answer.score = form.cleaned_data["score"]
|
||||
answer.save()
|
||||
|
||||
if "next" in request.POST:
|
||||
return redirect("longs:mark_answer", pk=pk, sk=sk, cid=next_unmarked_id)
|
||||
return redirect("longs:mark_answer", exam_id=exam_id, question_number=question_number, cid=next_unmarked_id)
|
||||
if "save" in request.POST:
|
||||
return redirect("longs:mark_answer", pk=pk, sk=sk, cid=cid)
|
||||
return redirect("longs:mark_answer", exam_id=exam_id, question_number=question_number, cid=cid)
|
||||
#elif "previous" in request.POST:
|
||||
# return redirect("longs:mark", pk=pk, sk=n - 1)
|
||||
# return redirect("longs:mark", pk=exam_id, sk=n - 1)
|
||||
|
||||
else:
|
||||
form = MarkLongQuestionForm(initial={'score': answer.score})
|
||||
|
||||
Reference in New Issue
Block a user