improve collection overview page
This commit is contained in:
@@ -692,6 +692,58 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
data = {"status": "error"}
|
||||
return JsonResponse(data, status=400)
|
||||
|
||||
@method_decorator(login_required)
|
||||
def exam_toggle_results_published_htmx(self, request, pk):
|
||||
if request.method == "POST":
|
||||
if not self.check_user_edit_access(request.user, exam_id=pk):
|
||||
return HttpResponse(
|
||||
format_html(
|
||||
'<div class="alert alert-danger" role="alert">Error toggling results published.</div>'
|
||||
)
|
||||
)
|
||||
|
||||
exam = get_object_or_404(self.Exam, pk=pk)
|
||||
|
||||
exam.publish_results = not exam.publish_results
|
||||
exam.save()
|
||||
return render(
|
||||
request, "generic/partials/exams/exam_status.html#publish-results", context={
|
||||
"exam": exam,
|
||||
"collection": exam
|
||||
})
|
||||
else:
|
||||
HttpResponse(
|
||||
format_html(
|
||||
'<div class="alert alert-danger" role="alert">Error toggling results published.</div>'
|
||||
)
|
||||
)
|
||||
|
||||
@method_decorator(login_required)
|
||||
def exam_toggle_active_htmx(self, request, pk):
|
||||
if request.method == "POST":
|
||||
if not self.check_user_edit_access(request.user, exam_id=pk):
|
||||
return HttpResponse(
|
||||
format_html(
|
||||
'<div class="alert alert-danger" role="alert">Error toggling exam active.</div>'
|
||||
)
|
||||
)
|
||||
|
||||
exam = get_object_or_404(self.Exam, pk=pk)
|
||||
|
||||
exam.active = not exam.active
|
||||
exam.save()
|
||||
return render(
|
||||
request, "generic/partials/exams/exam_status.html#exam-active", context={
|
||||
"exam": exam,
|
||||
"collection": exam
|
||||
})
|
||||
else:
|
||||
HttpResponse(
|
||||
format_html(
|
||||
'<div class="alert alert-danger" role="alert">Error toggling exam active.</div>'
|
||||
)
|
||||
)
|
||||
|
||||
@method_decorator(login_required)
|
||||
def exam_toggle_results_published(self, request, pk):
|
||||
if request.method == "POST":
|
||||
|
||||
Reference in New Issue
Block a user