diff --git a/anatomy/urls.py b/anatomy/urls.py index 811043be..7626a965 100644 --- a/anatomy/urls.py +++ b/anatomy/urls.py @@ -30,6 +30,8 @@ urlpatterns = [ path("exam//toggle_results_published", views.AnatomyExamViews.exam_toggle_results_published, name="exam_toggle_results_published"), path("exam/submit", views.AnatomyExamViews.postExamAnswers, name="exam_answers_submit"), path("exam/", views.AnatomyExamViews.exam_list, name="exam_list"), + path("exam/create", views.ExamCreate.as_view(), name="exam_create"), + path("exam//update", views.ExamUpdate.as_view(), name="exam_update"), path("exam/json/", views.AnatomyExamViews.active_exams, name="active_exams"), path("exam/json/", views.AnatomyExamViews.exam_json, name="exam_json"), path("exam/json//recreate", views.AnatomyExamViews.exam_json_recreate, name="exam_json_recreate"), diff --git a/anatomy/views.py b/anatomy/views.py index 045da992..b9968d43 100644 --- a/anatomy/views.py +++ b/anatomy/views.py @@ -969,4 +969,12 @@ class UserAnswerDelete(SuperuserRequiredMixin, DeleteView): success_url = reverse_lazy("anatomy:anatomy_user_answer_view") class QuestionDelete(AuthorOrCheckerRequiredMixin, DeleteView): model = AnatomyQuestion - success_url = reverse_lazy("anatomy:anatomy_question_view") \ No newline at end of file + success_url = reverse_lazy("anatomy:anatomy_question_view") + +class ExamCreate(LoginRequiredMixin, CreateView): + model = Exam + form_class = ExamForm + +class ExamUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView): + model = Exam + form_class = ExamForm