This commit is contained in:
Ross
2022-02-24 19:30:26 +00:00
parent fd77001653
commit 9a61bd3c6c
3 changed files with 21 additions and 14 deletions
+9 -2
View File
@@ -113,8 +113,15 @@ class AnatomyQuestionForm(ModelForm):
instance = ModelForm.save(self, False)
instance.save()
for exam in self.cleaned_data["exams"]:
exam.exam_questions.add(instance)
old_exams = instance.exams.all()
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()
+9 -9
View File
@@ -855,10 +855,10 @@ class AnatomyQuestionUpdate(RevisionMixin, AuthorOrCheckerRequiredMixin, UpdateV
def form_valid(self, form):
# save exam orders (there must be a better way to do this)
exam_orders = {}
for exam in self.object.exams.all():
exam_orders[exam] = list(exam.exam_questions.all())
print(exam_orders[exam])
#exam_orders = {}
#for exam in self.object.exams.all():
# exam_orders[exam] = list(exam.exam_questions.all())
# print(exam_orders[exam])
self.object = form.save(commit=False)
self.object.save()
@@ -874,11 +874,11 @@ class AnatomyQuestionUpdate(RevisionMixin, AuthorOrCheckerRequiredMixin, UpdateV
formset.save()
# restore exam orders
for exam in self.object.exams.all():
if exam in exam_orders and self.object in exam_orders[exam]:
print(exam_orders[exam])
exam.exam_questions.set(exam_orders[exam])
exam.save()
#for exam in self.object.exams.all():
# if exam in exam_orders and self.object in exam_orders[exam]:
# print(exam_orders[exam])
# exam.exam_questions.set(exam_orders[exam])
# exam.save()
return response
else: