collections user testing

This commit is contained in:
Ross
2023-07-03 09:00:28 +01:00
parent abdba22cdf
commit 100945478b
+11 -4
View File
@@ -1240,7 +1240,7 @@ def collection_take_overview(request, pk, cid, passcode):
if not collection.active:
raise Http404("Exam not found")
if not collection.check_cid_user(cid, passcode):
if not collection.check_cid_user(cid, passcode, request):
raise Http404("Error accessing exam")
cases = collection.cases.all().order_by("casedetail__sort_order").prefetch_related()
@@ -1278,10 +1278,10 @@ def collection_take_overview(request, pk, cid, passcode):
},
)
def collection_case_view_review(request, pk, case_number):
def collection_case_view_review(request, pk: int, case_number: int):
return collection_case_view_take(request, pk, case_number, None, None)
def collection_case_view_take(request, pk, case_number, cid, passcode):
def collection_case_view_take(request, pk: int, case_number: int, cid=None, passcode=None):
collection = get_object_or_404(CaseCollection, pk=pk)
form = None
@@ -1291,9 +1291,16 @@ def collection_case_view_take(request, pk, case_number, cid, passcode):
if not collection.active:
raise Http404("Exam not found")
if not collection.check_cid_user(cid, passcode, request):
if cid is not None and not collection.check_cid_user(cid, passcode, request):
raise Http404("Error accessing exam")
if cid is not None:
c = CidUser.objects.filter(cid=cid).first()
cid_user_exam = collection.get_or_create_cid_user_exam(cid_user=c)
else:
cid_user_exam = collection.get_or_create_cid_user_exam(user_user=request.user)
cases = collection.cases.all().order_by("casedetail__sort_order").prefetch_related()
case = cases[case_number]