migarate exam_user_status
This commit is contained in:
+13
-22
@@ -1105,9 +1105,9 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
raise PermissionDenied
|
||||
|
||||
if cid is not None:
|
||||
statuses = exam.exam_user_status.filter(cid_user__cid=cid)
|
||||
statuses = exam.exam_user_status.filter(cid_user_exam__cid_user__cid=cid)
|
||||
elif user_id is not None:
|
||||
statuses = exam.exam_user_status.filter(user_user__id=user_id)
|
||||
statuses = exam.exam_user_status.filter(cid_user_exam__user_user__id=user_id)
|
||||
else:
|
||||
statuses = exam.exam_user_status.all()
|
||||
|
||||
@@ -1692,17 +1692,14 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
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"
|
||||
)
|
||||
exam.exam_user_status.create(
|
||||
cid_user_exam=cid_user_exam, status="submitted", extra="manual submission"
|
||||
)
|
||||
|
||||
cid_user_exam.end_time = timezone.now()
|
||||
cid_user_exam.save()
|
||||
@@ -1738,14 +1735,11 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
|
||||
# Log exam access
|
||||
if exam.exam_mode:
|
||||
if cid is not None:
|
||||
user = None
|
||||
cid_user = CidUser.objects.get(cid=cid)
|
||||
else:
|
||||
user = request.user
|
||||
cid_user = None
|
||||
cid_user_exam = exam.get_or_create_cid_user_exam(
|
||||
cid=cid, user_user=request.user
|
||||
)
|
||||
exam.exam_user_status.create(
|
||||
cid_user=cid_user, user_user=user, status="downloaded"
|
||||
cid_user_exam=cid_user_exam, status="downloaded"
|
||||
)
|
||||
|
||||
path = "{0}{1}/exam/{2}.json".format(settings.MEDIA_ROOT, self.app_name, pk)
|
||||
@@ -1818,14 +1812,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:
|
||||
cid_user = None
|
||||
cid_user_exam = exam.get_or_create_cid_user_exam(
|
||||
cid=cid, user_user=request.user
|
||||
)
|
||||
exam.exam_user_status.create(
|
||||
cid_user=cid_user, user_user=user, status="downloaded", extra="unbased"
|
||||
cid_user_exam=cid_user_exam, status="downloaded", extra="unbased"
|
||||
)
|
||||
|
||||
return JsonResponse(exam_json)
|
||||
|
||||
Reference in New Issue
Block a user