This commit is contained in:
Ross
2021-12-11 21:41:42 +00:00
parent 8ba5a34cb7
commit a837ed0e4b
+15 -5
View File
@@ -325,8 +325,10 @@ def exam_take(request, pk, sk, cid, passcode=None):
if exam.valid_users.exists():
user = exam.valid_users.filter(cid=cid).first()
if not user or user.passcode != passcode:
if not user:
raise Http404("Exam not found")
if user.passcode != passcode:
raise Http404("Invalid passcode")
question = exam.exam_questions.all()[sk]
@@ -348,15 +350,23 @@ def exam_take(request, pk, sk, cid, passcode=None):
answer.exam = exam
# answer.published_date = timezone.now()
answer.save()
kwargs = {
"pk": pk,
"cid" : cid
}
if passcode is None:
kwargs["passcode"] = passcode
if "next" in request.POST:
return redirect("physics:exam_take", pk=pk, sk=pos + 1, cid=cid)
return redirect("physics:exam_take", sk=pos + 1, **kwargs)
elif "previous" in request.POST:
return redirect("physics:exam_take", pk=pk, sk=pos - 1, cid=cid)
return redirect("physics:exam_take", sk=pos - 1, **kwargs)
elif "finish" in request.POST:
return redirect("physics:exam_finish", pk=pk, cid=cid)
return redirect("physics:exam_finish", **kwargs)
elif "goto" in request.POST:
return redirect(
"physics:exam_take", pk=pk, sk=int(request.POST.get("goto")), cid=cid
"physics:exam_take", sk=int(request.POST.get("goto")), **kwargs
)
else:
form = CidUserAnswerForm(instance=answer)