High candidates that have submitted results
This commit is contained in:
+14
-2
@@ -999,14 +999,26 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
|
||||
return notes
|
||||
|
||||
def exam_user_status(self, request, pk):
|
||||
def exam_user_status_cid(self, request, pk, cid):
|
||||
return self.exam_user_status(request, pk, cid=cid)
|
||||
|
||||
def exam_user_status_user(self, request, pk, user_id):
|
||||
return self.exam_user_status(request, pk, user_id=user_id)
|
||||
|
||||
def exam_user_status(self, request, pk, cid=None, user_id=None):
|
||||
# TODO: add filtering by user / cid
|
||||
exam = get_object_or_404(self.Exam, pk=pk)
|
||||
|
||||
# Restrict just to exam authors
|
||||
if request.user not in exam.author.all():
|
||||
raise PermissionDenied
|
||||
|
||||
statuses = exam.exam_user_status.all()
|
||||
if cid is not None:
|
||||
statuses = exam.exam_user_status.filter(cid_user__cid=cid)
|
||||
elif user_id is not None:
|
||||
statuses = exam.exam_user_status.filter(user_user__id=user_id)
|
||||
else:
|
||||
statuses = exam.exam_user_status.all()
|
||||
|
||||
return render(request, "exam_user_status.html", {"exam": exam, "statuses": statuses})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user