From 9d4545f72169e5871f21dea6d2a0ff694ac3695f Mon Sep 17 00:00:00 2001 From: Ross Date: Fri, 7 Jan 2022 11:16:57 +0000 Subject: [PATCH] . --- generic/views.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/generic/views.py b/generic/views.py index 325e9194..8ccbab82 100644 --- a/generic/views.py +++ b/generic/views.py @@ -71,9 +71,8 @@ class CidManagerRequiredMixin(object): obj = super().get_object(*args, **kwargs) if self.request.user.groups.filter(name="cid_user_manager").exists(): return obj - if self.request.user not in obj.author.all(): - raise PermissionDenied() # or Http404 - return obj + raise PermissionDenied() # or Http404 + def normaliseRapidsScore(score): if score == 49: @@ -371,7 +370,12 @@ class ExamViews(View, LoginRequiredMixin): True if request.POST.get("publish_results") == "true" else False ) exam.save() - data = {"status": "success", "publish_results": exam.publish_results, "name": exam.name, "id": exam.id} + data = { + "status": "success", + "publish_results": exam.publish_results, + "name": exam.name, + "id": exam.id, + } return JsonResponse(data, status=200) else: data = {"status": "error"} @@ -385,7 +389,12 @@ class ExamViews(View, LoginRequiredMixin): exam.active = True if request.POST.get("active") == "true" else False exam.save() - data = {"status": "success", "active": exam.active, "name": exam.name, "id": exam.id} + data = { + "status": "success", + "active": exam.active, + "name": exam.name, + "id": exam.id, + } return JsonResponse(data, status=200) else: data = {"status": "error"} @@ -865,10 +874,10 @@ class ExamViews(View, LoginRequiredMixin): c = CidUser.objects.filter(cid=request.POST.get("cid")).first() exam = self.Exam.objects.get(pk=exam_id) - t = timezone.make_aware(datetime.fromtimestamp(float(request.POST.get("start_time")))) - cid_user_exam = exam.get_or_create_cid_user_exam( - cid_user=c, start_time=t + t = timezone.make_aware( + datetime.fromtimestamp(float(request.POST.get("start_time"))) ) + cid_user_exam = exam.get_or_create_cid_user_exam(cid_user=c, start_time=t) cid_user_exam.end_time = timezone.now() cid_user_exam.save() @@ -1348,6 +1357,7 @@ def group_email(request, pk, resend=False): {"sent": sent, "not_sent": not_sent, "users_count": users.count()}, ) + @login_required @user_is_cid_user_manager def group_email_results(request, pk, resend=False): @@ -1373,6 +1383,7 @@ def group_email_results(request, pk, resend=False): {"sent": sent, "not_sent": not_sent, "users_count": users.count()}, ) + @login_required @user_is_cid_user_manager def manage_cid_users(request):