store submission data in in EXamUserStatus

This commit is contained in:
Ross
2024-01-09 14:01:11 +00:00
parent 6bfaa92324
commit 1cd00d7f75
3 changed files with 36 additions and 4 deletions
+8 -1
View File
@@ -1627,15 +1627,22 @@ class ExamViews(View, LoginRequiredMixin):
datetime.fromtimestamp(float(request.POST.get("start_time")))
)
# We currently store the submission time in two different places
if request.POST.get("cid").startswith("u-"):
cid_user_exam = exam.get_or_create_cid_user_exam(
user_user=request.user, start_time=t
)
exam.exam_user_status.create(
cid_user=None, user_user=request.user, status="submitted", extra="manual submission"
)
else:
c = CidUser.objects.filter(cid=request.POST.get("cid")).first()
cid_user_exam = exam.get_or_create_cid_user_exam(
cid_user=c, start_time=t
)
exam.exam_user_status.create(
cid_user=c, user_user=None, status="submitted", extra="manual submission"
)
cid_user_exam.end_time = timezone.now()
cid_user_exam.save()
@@ -1671,11 +1678,11 @@ class ExamViews(View, LoginRequiredMixin):
# Log exam access
if exam.exam_mode:
user = request.user
if cid is not None:
user = None
cid_user = CidUser.objects.get(cid=cid)
else:
user = request.user
cid_user = None
exam.exam_user_status.create(
cid_user=cid_user, user_user=user, status="downloaded"