diff --git a/generic/forms.py b/generic/forms.py index 04303b5a..ec1b4ecf 100755 --- a/generic/forms.py +++ b/generic/forms.py @@ -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