.
This commit is contained in:
+9
-9
@@ -101,7 +101,7 @@ def active_exams(request):
|
|||||||
def exam_scores_cid_user(request, pk, cid=None, passcode=None):
|
def exam_scores_cid_user(request, pk, cid=None, passcode=None):
|
||||||
exam = get_object_or_404(Exam, pk=pk)
|
exam = get_object_or_404(Exam, pk=pk)
|
||||||
|
|
||||||
if not request.user and not exam.check_cid_user(cid, passcode, request):
|
if cid is not None and not exam.check_cid_user(cid, passcode, request):
|
||||||
raise Http404("Error accessing exam")
|
raise Http404("Error accessing exam")
|
||||||
|
|
||||||
questions = exam.exam_questions.all()
|
questions = exam.exam_questions.all()
|
||||||
@@ -203,12 +203,12 @@ def exam_take_overview(request, pk, cid=None, passcode=None):
|
|||||||
if not exam.active:
|
if not exam.active:
|
||||||
raise Http404("Exam not found")
|
raise Http404("Exam not found")
|
||||||
|
|
||||||
if not request.user and not exam.check_cid_user(cid, passcode):
|
if cid is not None and not exam.check_cid_user(cid, passcode):
|
||||||
raise Http404("Error accessing exam")
|
raise Http404("Error accessing exam")
|
||||||
|
|
||||||
questions = exam.exam_questions.all()
|
questions = exam.exam_questions.all()
|
||||||
|
|
||||||
if request.user:
|
if cid is not None:
|
||||||
answers = CidUserAnswer.objects.filter(user=request.user, exam=exam)
|
answers = CidUserAnswer.objects.filter(user=request.user, exam=exam)
|
||||||
else:
|
else:
|
||||||
answers = CidUserAnswer.objects.filter(cid=cid, exam=exam)
|
answers = CidUserAnswer.objects.filter(cid=cid, exam=exam)
|
||||||
@@ -227,7 +227,7 @@ def exam_take_overview(request, pk, cid=None, passcode=None):
|
|||||||
else:
|
else:
|
||||||
question_answer_tuples.append((q, None))
|
question_answer_tuples.append((q, None))
|
||||||
|
|
||||||
if request.user:
|
if cid is not None:
|
||||||
cid_user_exam = exam.get_or_create_cid_user_exam(user_user=request.user)
|
cid_user_exam = exam.get_or_create_cid_user_exam(user_user=request.user)
|
||||||
else:
|
else:
|
||||||
c = CidUser.objects.filter(cid=cid).first()
|
c = CidUser.objects.filter(cid=cid).first()
|
||||||
@@ -255,10 +255,10 @@ def exam_take(request, pk, sk, cid=None, passcode=None):
|
|||||||
if not exam.active:
|
if not exam.active:
|
||||||
raise Http404("Exam not found")
|
raise Http404("Exam not found")
|
||||||
|
|
||||||
if not request.user and not exam.check_cid_user(cid, passcode):
|
if cid is not None and not exam.check_cid_user(cid, passcode):
|
||||||
raise Http404("Error accessing exam")
|
raise Http404("Error accessing exam")
|
||||||
|
|
||||||
if request.user:
|
if cid is not None:
|
||||||
cid_user_exam = exam.get_or_create_cid_user_exam(user_user=request.user)
|
cid_user_exam = exam.get_or_create_cid_user_exam(user_user=request.user)
|
||||||
else:
|
else:
|
||||||
c = CidUser.objects.filter(cid=cid).first()
|
c = CidUser.objects.filter(cid=cid).first()
|
||||||
@@ -270,7 +270,7 @@ def exam_take(request, pk, sk, cid=None, passcode=None):
|
|||||||
|
|
||||||
pos = exam.get_question_index(question)
|
pos = exam.get_question_index(question)
|
||||||
|
|
||||||
if request.user:
|
if cid is not None:
|
||||||
answer = question.cid_user_answers.filter(user=request.user, exam=exam).first()
|
answer = question.cid_user_answers.filter(user=request.user, exam=exam).first()
|
||||||
else:
|
else:
|
||||||
answer = question.cid_user_answers.filter(cid=cid, exam=exam).first()
|
answer = question.cid_user_answers.filter(cid=cid, exam=exam).first()
|
||||||
@@ -283,7 +283,7 @@ def exam_take(request, pk, sk, cid=None, passcode=None):
|
|||||||
if form.is_valid() and not exam.publish_results:
|
if form.is_valid() and not exam.publish_results:
|
||||||
answer = form.save(commit=False)
|
answer = form.save(commit=False)
|
||||||
|
|
||||||
if request.user:
|
if cid is not None:
|
||||||
answer.user = request.user
|
answer.user = request.user
|
||||||
else:
|
else:
|
||||||
answer.cid = cid
|
answer.cid = cid
|
||||||
@@ -295,7 +295,7 @@ def exam_take(request, pk, sk, cid=None, passcode=None):
|
|||||||
cid_user_exam.end_time = timezone.now()
|
cid_user_exam.end_time = timezone.now()
|
||||||
cid_user_exam.save()
|
cid_user_exam.save()
|
||||||
|
|
||||||
if request.user:
|
if cid is not None:
|
||||||
kwargs = {"pk": pk}
|
kwargs = {"pk": pk}
|
||||||
take_url = "physics:exam_take_user"
|
take_url = "physics:exam_take_user"
|
||||||
finish_url = "physics:exam_take_overview_user"
|
finish_url = "physics:exam_take_overview_user"
|
||||||
|
|||||||
Reference in New Issue
Block a user