diff --git a/generic/models.py b/generic/models.py index e5a3d6da..bce76c02 100644 --- a/generic/models.py +++ b/generic/models.py @@ -147,8 +147,12 @@ class ExamBase(models.Model): authors = [i for i in self.author.all()] return authors - def check_cid_user(self, cid, passcode): + def check_cid_user(self, cid, passcode, request=None): + if request is not None and request.user.is_superuser(): + return True + if self.valid_users.exists(): + user = self.valid_users.filter(cid=cid).first() if not user or user.passcode != passcode: @@ -270,7 +274,7 @@ class CidUser(models.Model): "test@xkjq.uk", [self.email, self.supervisor_email], fail_silently=False, - html_message=html_msg + html_message=html_msg, ) except SMTPException as e: return False, e diff --git a/generic/views.py b/generic/views.py index 1d4ecaa0..52b71b5d 100644 --- a/generic/views.py +++ b/generic/views.py @@ -936,7 +936,7 @@ class ExamViews(View, LoginRequiredMixin): user_answers_marks = defaultdict(list) user_answers = defaultdict(list) user_names = {} - cid_passcodes = {} + #cid_passcodes = {} by_question = defaultdict(dict) unmarked = set() @@ -954,7 +954,7 @@ class ExamViews(View, LoginRequiredMixin): for cid_user_answer in cid_user_answers: # Convoluted (probably...) cid = cid_user_answer.cid - cid_passcodes[cid] = cid_user_answer.passcode + #cid_passcodes[cid] = cid_user_answer.passcode cids.add(cid) s = cid_user_answer user_names[cid] = cid @@ -1055,7 +1055,7 @@ class ExamViews(View, LoginRequiredMixin): f"{self.app_name}/exam_scores_new.html", { "cids": sorted(cids), - "cid_passcodes": cid_passcodes, + #"cid_passcodes": cid_passcodes, "exam": exam, "unmarked": unmarked, "questions": questions, diff --git a/sbas/templates/sbas/exam_scores_new.html b/sbas/templates/sbas/exam_scores_new.html index 2f1754b3..d0afab9f 100644 --- a/sbas/templates/sbas/exam_scores_new.html +++ b/sbas/templates/sbas/exam_scores_new.html @@ -37,7 +37,7 @@