.
This commit is contained in:
+1
-5
@@ -855,12 +855,8 @@ class AnatomyQuestionUpdate(RevisionMixin, AuthorOrCheckerRequiredMixin, UpdateV
|
|||||||
|
|
||||||
|
|
||||||
class QuestionClone(AnatomyQuestionCreateBase):
|
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):
|
def get_initial(self):
|
||||||
# print(self.request)
|
# print(self.request)
|
||||||
old_object = get_object_or_404(AnatomyQuestion, pk=self.kwargs["pk"])
|
old_object = get_object_or_404(AnatomyQuestion, pk=self.kwargs["pk"])
|
||||||
|
|||||||
+4
-1
@@ -1,4 +1,5 @@
|
|||||||
from django.contrib.contenttypes.models import ContentType
|
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.shortcuts import render, get_object_or_404, redirect
|
||||||
|
|
||||||
from django.contrib.auth.decorators import login_required, user_passes_test
|
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)
|
cache.set("{}_question_json_{}".format(self.app_name, sk), question_json, 3600)
|
||||||
|
|
||||||
return JsonResponse(question_json)
|
return JsonResponse(question_json)
|
||||||
|
|
||||||
|
|
||||||
@@ -109,6 +109,7 @@ urlpatterns = [
|
|||||||
path("exam/", views.LongExamViews.exam_list, name="exam_list"),
|
path("exam/", views.LongExamViews.exam_list, name="exam_list"),
|
||||||
path("exam/all", views.LongExamViews.exam_list_all, name="exam_list_all"),
|
path("exam/all", views.LongExamViews.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.LongExamViews.active_exams, name="active_exams"),
|
path("exam/json/", views.LongExamViews.active_exams, name="active_exams"),
|
||||||
|
|||||||
+12
-1
@@ -59,7 +59,7 @@ from django.forms.models import model_to_dict
|
|||||||
from longs.forms import LongCreationDefaultForm
|
from longs.forms import LongCreationDefaultForm
|
||||||
from longs.models import LongCreationDefault
|
from longs.models import LongCreationDefault
|
||||||
|
|
||||||
from generic.views import ExamViews
|
from generic.views import CloneExamBase, ExamViews
|
||||||
from reversion.views import RevisionMixin
|
from reversion.views import RevisionMixin
|
||||||
import reversion
|
import reversion
|
||||||
|
|
||||||
@@ -1069,6 +1069,17 @@ class ExamCreate(RevisionMixin, LoginRequiredMixin, CreateView):
|
|||||||
form.instance.author.add(self.request.user.id)
|
form.instance.author.add(self.request.user.id)
|
||||||
return super().form_valid(form)
|
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(
|
class ExamUpdate(
|
||||||
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView
|
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView
|
||||||
|
|||||||
Reference in New Issue
Block a user