From 43372fa56b277a88c86a55c6a2715273127d242a Mon Sep 17 00:00:00 2001 From: Ross Date: Tue, 15 Feb 2022 22:54:42 +0000 Subject: [PATCH] . --- sbas/urls.py | 2 ++ sbas/views.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/sbas/urls.py b/sbas/urls.py index a8e4f4fc..96954ebd 100644 --- a/sbas/urls.py +++ b/sbas/urls.py @@ -52,6 +52,8 @@ urlpatterns = [ path("exam//clone", views.ExamClone.as_view(), name="exam_clone"), path("exam//cids", views.GenericExamViews.exam_cids, name="exam_cids"), path("exam/available", views.active_exams, name="active_exams"), + path("exam//update", views.ExamUpdate.as_view(), name="exam_update"), + path("exam//delete", views.ExamDelete.as_view(), name="exam_delete"), # path("exam/json/", views.exam_json, name="exam_json"), # path("exam/json//recreate", views.exam_json_recreate, name="exam_json_recreate"), path( diff --git a/sbas/views.py b/sbas/views.py index eb1faab6..2a52e98b 100644 --- a/sbas/views.py +++ b/sbas/views.py @@ -390,3 +390,22 @@ class ExamDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView): class ExamClone(ExamCloneMixin, ExamCreate): """Clone exam view""" + +class ExamDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView): + model = Exam + template_name = "exam_confirm_delete.html" + success_url = reverse_lazy("sbas:index") + + +class ExamUpdate( + RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView +): + model = Exam + form_class = ExamForm + + def form_valid(self, form): + self.object = form.save(commit=False) + self.object.save() + + form.instance.author.add(self.request.user.id) + return super().form_valid(form) \ No newline at end of file