This commit is contained in:
Ross
2022-03-01 18:31:48 +00:00
parent 576113a812
commit d869c8dfc7
+27 -2
View File
@@ -101,6 +101,9 @@ class CidUserForm(ModelForm):
# a list of primary key for the selected data.
initial["physics_exams"] = [t.pk for t in kwargs["instance"].physics_exams.all()]
initial["anatomy_exams"] = [t.pk for t in kwargs["instance"].anatomy_exams.all()]
initial["sba_exams"] = [t.pk for t in kwargs["instance"].sba_exams.all()]
initial["rapid_exams"] = [t.pk for t in kwargs["instance"].rapid_exams.all()]
initial["longs_exams"] = [t.pk for t in kwargs["instance"].longs_exams.all()]
ModelForm.__init__(self, *args, **kwargs)
@@ -116,6 +119,21 @@ class CidUserForm(ModelForm):
queryset=AnatomyExam.objects.filter(archive=False),
widget=FilteredSelectMultiple(verbose_name="Anatomy Exams", is_stacked=False),
)
self.fields["sba_exams"] = ModelMultipleChoiceField(
required=False,
queryset=SbasExam.objects.filter(archive=False),
widget=FilteredSelectMultiple(verbose_name="SBA Exams", is_stacked=False),
)
self.fields["rapid_exams"] = ModelMultipleChoiceField(
required=False,
queryset=RapidsExam.objects.filter(archive=False),
widget=FilteredSelectMultiple(verbose_name="Rapid Exams", is_stacked=False),
)
self.fields["longs_exams"] = ModelMultipleChoiceField(
required=False,
queryset=LongsExam.objects.filter(archive=False),
widget=FilteredSelectMultiple(verbose_name="Long Exams", is_stacked=False),
)
def save(self, commit=True):
# Get the unsaved Long instance
@@ -128,12 +146,19 @@ class CidUserForm(ModelForm):
old_save_m2m()
instance.physics_exams.clear()
for physics_exams in self.cleaned_data["physics_exams"]:
# We need the id here
instance.physics_exams.add(physics_exams.pk)
instance.anatomy_exams.clear()
for anatomy_exams in self.cleaned_data["anatomy_exams"]:
# We need the id here
instance.anatomy_exams.add(anatomy_exams.pk)
instance.sba_exams.clear()
for sba_exams in self.cleaned_data["sba_exams"]:
instance.sba_exams.add(sba_exams.pk)
instance.rapid_exams.clear()
for rapid_exams in self.cleaned_data["rapid_exams"]:
instance.rapid_exams.add(rapid_exams.pk)
instance.anatomy_exams.clear()
for longs_exams in self.cleaned_data["longs_exams"]:
instance.longs_exams.add(longs_exams.pk)
self.save_m2m = save_m2m