.
This commit is contained in:
+9
-2
@@ -113,8 +113,15 @@ class AnatomyQuestionForm(ModelForm):
|
|||||||
instance = ModelForm.save(self, False)
|
instance = ModelForm.save(self, False)
|
||||||
instance.save()
|
instance.save()
|
||||||
|
|
||||||
for exam in self.cleaned_data["exams"]:
|
old_exams = instance.exams.all()
|
||||||
exam.exam_questions.add(instance)
|
|
||||||
|
new_exams = self.cleaned_data["exams"]
|
||||||
|
|
||||||
|
for exam in old_exams:
|
||||||
|
if exam in new_exams:
|
||||||
|
exam.exam_questions.add(instance)
|
||||||
|
else:
|
||||||
|
exam.exam_questions.remove(instance)
|
||||||
|
|
||||||
self.save_m2m()
|
self.save_m2m()
|
||||||
|
|
||||||
|
|||||||
+9
-9
@@ -855,10 +855,10 @@ class AnatomyQuestionUpdate(RevisionMixin, AuthorOrCheckerRequiredMixin, UpdateV
|
|||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
|
|
||||||
# save exam orders (there must be a better way to do this)
|
# save exam orders (there must be a better way to do this)
|
||||||
exam_orders = {}
|
#exam_orders = {}
|
||||||
for exam in self.object.exams.all():
|
#for exam in self.object.exams.all():
|
||||||
exam_orders[exam] = list(exam.exam_questions.all())
|
# exam_orders[exam] = list(exam.exam_questions.all())
|
||||||
print(exam_orders[exam])
|
# print(exam_orders[exam])
|
||||||
|
|
||||||
self.object = form.save(commit=False)
|
self.object = form.save(commit=False)
|
||||||
self.object.save()
|
self.object.save()
|
||||||
@@ -874,11 +874,11 @@ class AnatomyQuestionUpdate(RevisionMixin, AuthorOrCheckerRequiredMixin, UpdateV
|
|||||||
formset.save()
|
formset.save()
|
||||||
|
|
||||||
# restore exam orders
|
# restore exam orders
|
||||||
for exam in self.object.exams.all():
|
#for exam in self.object.exams.all():
|
||||||
if exam in exam_orders and self.object in exam_orders[exam]:
|
# if exam in exam_orders and self.object in exam_orders[exam]:
|
||||||
print(exam_orders[exam])
|
# print(exam_orders[exam])
|
||||||
exam.exam_questions.set(exam_orders[exam])
|
# exam.exam_questions.set(exam_orders[exam])
|
||||||
exam.save()
|
# exam.save()
|
||||||
|
|
||||||
return response
|
return response
|
||||||
else:
|
else:
|
||||||
|
|||||||
+3
-3
@@ -349,9 +349,9 @@ class RapidUpdate(
|
|||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
# save exam orders (there must be a better way to do this)
|
# save exam orders (there must be a better way to do this)
|
||||||
exam_orders = {}
|
#exam_orders = {}
|
||||||
for exam in self.object.exams.all():
|
#for exam in self.object.exams.all():
|
||||||
exam_orders[exam] = list(exam.exam_questions.all())
|
# exam_orders[exam] = list(exam.exam_questions.all())
|
||||||
|
|
||||||
self.object = form.save(commit=False)
|
self.object = form.save(commit=False)
|
||||||
self.object.save()
|
self.object.save()
|
||||||
|
|||||||
Reference in New Issue
Block a user