.
This commit is contained in:
+24
-2
@@ -131,9 +131,31 @@ class RapidForm(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
|
||||||
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)
|
||||||
|
|
||||||
|
# # Prepare a 'save_m2m' method for the form,
|
||||||
|
# old_save_m2m = self.save_m2m
|
||||||
|
#
|
||||||
|
# def save_m2m():
|
||||||
|
# old_save_m2m()
|
||||||
|
# # This is where we actually link the pizza with toppings
|
||||||
|
# instance.exams.clear()
|
||||||
|
# for exam in self.cleaned_data["exams"]:
|
||||||
|
# instance.exams.add(exam)
|
||||||
|
#
|
||||||
|
# self.save_m2m = save_m2m
|
||||||
|
#
|
||||||
|
# # Do we need to save all changes now?
|
||||||
|
# # if commit:
|
||||||
|
# instance.save()
|
||||||
self.save_m2m()
|
self.save_m2m()
|
||||||
|
|
||||||
return instance
|
return instance
|
||||||
|
|||||||
+6
-13
@@ -370,19 +370,12 @@ class RapidUpdate(
|
|||||||
answer_formset.save()
|
answer_formset.save()
|
||||||
|
|
||||||
# restore exam orders
|
# restore exam orders
|
||||||
#wanted_exams = form["exams"].data
|
wanted_exams = form["exams"].data
|
||||||
#for exam in self.object.exams.all():
|
for exam in self.object.exams.all():
|
||||||
# # Only readd if exam is still added
|
if exam in exam_orders and self.object in exam_orders[exam]:
|
||||||
# # There is probably a better way to do this
|
print(exam_orders[exam])
|
||||||
# if str(exam.pk) in wanted_exams:
|
exam.exam_questions.set(exam_orders[exam])
|
||||||
# if exam in exam_orders and self.object in exam_orders[exam]:
|
exam.save()
|
||||||
# print(exam_orders[exam])
|
|
||||||
# exam.exam_questions.set(exam_orders[exam])
|
|
||||||
# exam.save()
|
|
||||||
# else: # Otherwise remove it
|
|
||||||
# if exam in exam_orders and self.object in exam_orders[exam]:
|
|
||||||
# exam.exam_questions.set(exam_orders[exam])
|
|
||||||
# exam.save()
|
|
||||||
|
|
||||||
return response
|
return response
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user