This commit is contained in:
Ross
2023-02-20 10:05:57 +00:00
parent 850506a9b8
commit 1b690f93b3
+22 -19
View File
@@ -1594,15 +1594,16 @@ class ExamViews(View, LoginRequiredMixin):
# exam_json_cache = cache.get("{}_exam_json_{}".format(self.app_name, pk)) # exam_json_cache = cache.get("{}_exam_json_{}".format(self.app_name, pk))
# Log exam access # Log exam access
user = request.user if exam.exam_mode:
if cid is not None: user = request.user
user = None if cid is not None:
cid_user = CidUser.objects.get(cid=cid) user = None
else: cid_user = CidUser.objects.get(cid=cid)
cid_user = None else:
exam.exam_user_status.create( cid_user = None
cid_user=cid_user, user_user=user, status="downloaded" exam.exam_user_status.create(
) cid_user=cid_user, user_user=user, status="downloaded"
)
path = "{0}{1}/exam/{2}.json".format(settings.MEDIA_ROOT, self.app_name, pk) path = "{0}{1}/exam/{2}.json".format(settings.MEDIA_ROOT, self.app_name, pk)
url = "{0}{1}/exam/{2}.json".format(settings.MEDIA_URL, self.app_name, pk) url = "{0}{1}/exam/{2}.json".format(settings.MEDIA_URL, self.app_name, pk)
@@ -1650,7 +1651,7 @@ class ExamViews(View, LoginRequiredMixin):
""" """
exam = get_object_or_404(self.Exam, pk=pk) exam = get_object_or_404(self.Exam, pk=pk)
if self.exam_mode and not exam.active and not self.check_user_access(request.user, pk): if exam.exam_mode and not exam.active and not self.check_user_access(request.user, pk):
raise Http404("No available exam") raise Http404("No available exam")
# Check access for users # Check access for users
@@ -1667,16 +1668,18 @@ class ExamViews(View, LoginRequiredMixin):
exam_json["generated"] = time.isoformat() exam_json["generated"] = time.isoformat()
exam_json["exam_json_id"] = exam.exam_json_id exam_json["exam_json_id"] = exam.exam_json_id
# exam_json["exam_active"] = False # exam_json["exam_active"] = False
# Log exam access # Log exam access
user = request.user if exam.exam_mode:
if cid is not None: user = request.user
user = None if cid is not None:
cid_user = CidUser.objects.get(cid=cid) user = None
else: cid_user = CidUser.objects.get(cid=cid)
cid_user = None else:
exam.exam_user_status.create( cid_user = None
cid_user=cid, user_user=user, status="downloaded", extra="unbased" exam.exam_user_status.create(
) cid_user=cid, user_user=user, status="downloaded", extra="unbased"
)
return JsonResponse(exam_json) return JsonResponse(exam_json)