.
This commit is contained in:
+1
-5
@@ -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
@@ -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)
|
||||
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user