This commit is contained in:
Ross
2021-09-12 11:34:14 +01:00
parent 15463a29bf
commit 5c0a5d04ca
4 changed files with 18 additions and 7 deletions
+1 -5
View File
@@ -855,12 +855,8 @@ class AnatomyQuestionUpdate(RevisionMixin, AuthorOrCheckerRequiredMixin, UpdateV
class QuestionClone(AnatomyQuestionCreateBase):
"""Clones a existing rapid"""
"""Clones a existing question"""
# fields = '__all__'
# #fields = [ 'condition' ]
# #initial = {'date_of_death': '05/01/2018'}
# exclude = [ 'created_date', 'published_date' ]
def get_initial(self):
# print(self.request)
old_object = get_object_or_404(AnatomyQuestion, pk=self.kwargs["pk"])
+4 -1
View File
@@ -1,4 +1,5 @@
from django.contrib.contenttypes.models import ContentType
from django.forms.models import model_to_dict
from django.shortcuts import render, get_object_or_404, redirect
from django.contrib.auth.decorators import login_required, user_passes_test
@@ -638,4 +639,6 @@ class ExamViews(View, LoginRequiredMixin):
cache.set("{}_question_json_{}".format(self.app_name, sk), question_json, 3600)
return JsonResponse(question_json)
return JsonResponse(question_json)
+1
View File
@@ -109,6 +109,7 @@ urlpatterns = [
path("exam/", views.LongExamViews.exam_list, name="exam_list"),
path("exam/all", views.LongExamViews.exam_list_all, name="exam_list_all"),
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>/delete", views.ExamDelete.as_view(), name="exam_delete"),
path("exam/json/", views.LongExamViews.active_exams, name="active_exams"),
+12 -1
View File
@@ -59,7 +59,7 @@ from django.forms.models import model_to_dict
from longs.forms import LongCreationDefaultForm
from longs.models import LongCreationDefault
from generic.views import ExamViews
from generic.views import CloneExamBase, ExamViews
from reversion.views import RevisionMixin
import reversion
@@ -1069,6 +1069,17 @@ class ExamCreate(RevisionMixin, LoginRequiredMixin, CreateView):
form.instance.author.add(self.request.user.id)
return super().form_valid(form)
class ExamClone(ExamCreate):
def get_initial(self):
old_object = get_object_or_404(Exam, pk=self.kwargs["exam_id"])
initial_data = model_to_dict(old_object, exclude=["id"])
#exams = old_object.exams.all().values_list("id", flat=True)
#initial_data["exams"] = list(exams)
return initial_data
class ExamUpdate(
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView