From 5c591304a09223eaf124be9d75f900a28d54fb7d Mon Sep 17 00:00:00 2001 From: Ross Date: Tue, 28 Sep 2021 22:48:06 +0100 Subject: [PATCH] . --- anatomy/urls.py | 1 + anatomy/views.py | 5 ++++- rapids/urls.py | 1 + rapids/views.py | 4 +++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/anatomy/urls.py b/anatomy/urls.py index d5212467..8f56cf6b 100644 --- a/anatomy/urls.py +++ b/anatomy/urls.py @@ -86,6 +86,7 @@ urlpatterns = [ path("exam/", views.AnatomyExamViews.exam_list, name="exam_list"), path("exam/all", views.AnatomyExamViews.exam_list_all, name="exam_list_all"), path("exam/create", views.ExamCreate.as_view(), name="exam_create"), + path("exam//clone", views.ExamClone.as_view(), name="exam_clone"), path("exam//update", views.ExamUpdate.as_view(), name="exam_update"), path("exam//delete", views.ExamDelete.as_view(), name="exam_delete"), path("exam/json/", views.AnatomyExamViews.active_exams, name="active_exams"), diff --git a/anatomy/views.py b/anatomy/views.py index cc23afe9..9621b0c8 100644 --- a/anatomy/views.py +++ b/anatomy/views.py @@ -47,7 +47,7 @@ from .models import ( # IncorrectAnswers, ) from generic.models import Examination -from generic.views import ExamViews, GenericViewBase +from generic.views import ExamCloneMixin, ExamViews, GenericViewBase from reversion.views import RevisionMixin from .decorators import user_is_author_or_anatomy_checker @@ -1031,3 +1031,6 @@ class ExamDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView): success_url = reverse_lazy("anatomy:index") GenericViews = GenericViewBase("anatomy", AnatomyQuestion, CidUserAnswer, Exam) + +class ExamClone(ExamCloneMixin, ExamCreate): + """Clone exam view""" \ No newline at end of file diff --git a/rapids/urls.py b/rapids/urls.py index d6a6450f..335a75ab 100755 --- a/rapids/urls.py +++ b/rapids/urls.py @@ -84,6 +84,7 @@ urlpatterns = [ path("exam/", views.RapidExamViews.exam_list, name="exam_list"), path("exam/all", views.RapidExamViews.exam_list_all, name="exam_list_all"), path("exam/create", views.ExamCreate.as_view(), name="exam_create"), + path("exam//clone", views.ExamClone.as_view(), name="exam_clone"), path("exam//update", views.ExamUpdate.as_view(), name="exam_update"), path("exam//delete", views.ExamDelete.as_view(), name="exam_delete"), path("exam/json/", views.RapidExamViews.active_exams, name="active_exams"), diff --git a/rapids/views.py b/rapids/views.py index e1f8f7e2..507ca07b 100755 --- a/rapids/views.py +++ b/rapids/views.py @@ -40,7 +40,7 @@ from .models import ( CidUserAnswer, ) -from generic.views import ExamViews, GenericViewBase +from generic.views import ExamCloneMixin, ExamViews, GenericViewBase from reversion.views import RevisionMixin @@ -1096,3 +1096,5 @@ def question_save_annotation(request, pk): data = {"status": "error"} return JsonResponse(data, status=400) +class ExamClone(ExamCloneMixin, ExamCreate): + """Clone exam view""" \ No newline at end of file