This commit is contained in:
Ross
2021-09-28 22:48:06 +01:00
parent 758820d499
commit 5c591304a0
4 changed files with 9 additions and 2 deletions
+1
View File
@@ -86,6 +86,7 @@ urlpatterns = [
path("exam/", views.AnatomyExamViews.exam_list, name="exam_list"), path("exam/", views.AnatomyExamViews.exam_list, name="exam_list"),
path("exam/all", views.AnatomyExamViews.exam_list_all, name="exam_list_all"), path("exam/all", views.AnatomyExamViews.exam_list_all, name="exam_list_all"),
path("exam/create", views.ExamCreate.as_view(), name="exam_create"), path("exam/create", views.ExamCreate.as_view(), name="exam_create"),
path("exam/<int:exam_id>/clone", views.ExamClone.as_view(), name="exam_clone"),
path("exam/<int:pk>/update", views.ExamUpdate.as_view(), name="exam_update"), path("exam/<int:pk>/update", views.ExamUpdate.as_view(), name="exam_update"),
path("exam/<int:pk>/delete", views.ExamDelete.as_view(), name="exam_delete"), path("exam/<int:pk>/delete", views.ExamDelete.as_view(), name="exam_delete"),
path("exam/json/", views.AnatomyExamViews.active_exams, name="active_exams"), path("exam/json/", views.AnatomyExamViews.active_exams, name="active_exams"),
+4 -1
View File
@@ -47,7 +47,7 @@ from .models import (
# IncorrectAnswers, # IncorrectAnswers,
) )
from generic.models import Examination from generic.models import Examination
from generic.views import ExamViews, GenericViewBase from generic.views import ExamCloneMixin, ExamViews, GenericViewBase
from reversion.views import RevisionMixin from reversion.views import RevisionMixin
from .decorators import user_is_author_or_anatomy_checker from .decorators import user_is_author_or_anatomy_checker
@@ -1031,3 +1031,6 @@ class ExamDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
success_url = reverse_lazy("anatomy:index") success_url = reverse_lazy("anatomy:index")
GenericViews = GenericViewBase("anatomy", AnatomyQuestion, CidUserAnswer, Exam) GenericViews = GenericViewBase("anatomy", AnatomyQuestion, CidUserAnswer, Exam)
class ExamClone(ExamCloneMixin, ExamCreate):
"""Clone exam view"""
+1
View File
@@ -84,6 +84,7 @@ urlpatterns = [
path("exam/", views.RapidExamViews.exam_list, name="exam_list"), path("exam/", views.RapidExamViews.exam_list, name="exam_list"),
path("exam/all", views.RapidExamViews.exam_list_all, name="exam_list_all"), path("exam/all", views.RapidExamViews.exam_list_all, name="exam_list_all"),
path("exam/create", views.ExamCreate.as_view(), name="exam_create"), path("exam/create", views.ExamCreate.as_view(), name="exam_create"),
path("exam/<int:exam_id>/clone", views.ExamClone.as_view(), name="exam_clone"),
path("exam/<int:pk>/update", views.ExamUpdate.as_view(), name="exam_update"), path("exam/<int:pk>/update", views.ExamUpdate.as_view(), name="exam_update"),
path("exam/<int:pk>/delete", views.ExamDelete.as_view(), name="exam_delete"), path("exam/<int:pk>/delete", views.ExamDelete.as_view(), name="exam_delete"),
path("exam/json/", views.RapidExamViews.active_exams, name="active_exams"), path("exam/json/", views.RapidExamViews.active_exams, name="active_exams"),
+3 -1
View File
@@ -40,7 +40,7 @@ from .models import (
CidUserAnswer, CidUserAnswer,
) )
from generic.views import ExamViews, GenericViewBase from generic.views import ExamCloneMixin, ExamViews, GenericViewBase
from reversion.views import RevisionMixin from reversion.views import RevisionMixin
@@ -1096,3 +1096,5 @@ def question_save_annotation(request, pk):
data = {"status": "error"} data = {"status": "error"}
return JsonResponse(data, status=400) return JsonResponse(data, status=400)
class ExamClone(ExamCloneMixin, ExamCreate):
"""Clone exam view"""