.
This commit is contained in:
@@ -615,6 +615,35 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
},
|
||||
)
|
||||
|
||||
def exam_cids_edit(self, request, exam_id):
|
||||
exam = get_object_or_404(self.Exam, pk=exam_id)
|
||||
|
||||
if not request.user.groups.filter(name="cid_user_manager").exists():
|
||||
raise PermissionDenied
|
||||
|
||||
if request.user not in exam.author.all():
|
||||
if not self.check_user_access(request.user, exam_id):
|
||||
raise PermissionDenied
|
||||
|
||||
cid_users = exam.valid_users.all()
|
||||
|
||||
exam_groups = exam.cid_user_groups.all()
|
||||
|
||||
available_cid_users = CidUser().objects.filter(group__in=exam_groups)
|
||||
|
||||
cid_user_count = cid_users.count()
|
||||
|
||||
return render(
|
||||
request,
|
||||
"exam_cids.html",
|
||||
{
|
||||
"exam": exam,
|
||||
"cid_users": available_cid_users,
|
||||
"cid_user_count": cid_user_count,
|
||||
"app_name": self.app_name,
|
||||
},
|
||||
)
|
||||
|
||||
# @method_decorator(login_required)
|
||||
def exam_notes(self, request, pk):
|
||||
exam = get_object_or_404(self.Exam, pk=pk)
|
||||
@@ -644,6 +673,12 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
|
||||
exam = get_object_or_404(self.Exam, pk=pk)
|
||||
|
||||
if "edit_cid_users" in request.POST:
|
||||
user_ids = json.loads(request.POST.get("cid_user_ids"))
|
||||
|
||||
data = {"status": "success"}
|
||||
return JsonResponse(data, status=200)
|
||||
|
||||
if "add_exam_questions" in request.POST:
|
||||
question_ids = json.loads(request.POST.get("add_exam_questions"))
|
||||
question_objects = self.Question.objects.filter(pk__in=question_ids)
|
||||
|
||||
Reference in New Issue
Block a user