From fde5e64430c7686baf2145f28a3f7027c11c55ae Mon Sep 17 00:00:00 2001 From: Julien Castets Date: Fri, 29 Mar 2024 17:20:20 +0100 Subject: [PATCH] ADSForm: dynamically set the field epci_commune --- mesads/app/forms.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/mesads/app/forms.py b/mesads/app/forms.py index 64f3715..66309db 100644 --- a/mesads/app/forms.py +++ b/mesads/app/forms.py @@ -87,7 +87,6 @@ class ADSForm(forms.ModelForm): class Meta: model = ADS fields = ( - "epci_commune", "number", "ads_creation_date", "ads_in_use", @@ -109,7 +108,16 @@ class Meta: def __init__(self, epci=None, *args, **kwargs): super().__init__(*args, **kwargs) + if epci: + self.Meta.fields = self.Meta.fields + ("epci_commune",) + self.fields["epci_commune"] = forms.ModelChoiceField( + queryset=None, + widget=autocomplete.ListSelect2(), + label=ADS.epci_commune.field.verbose_name, + help_text=ADS.epci_commune.field.help_text, + required=False, + ) self.fields["epci_commune"].queryset = Commune.objects.filter( departement=epci.departement ) @@ -124,14 +132,6 @@ def save(self, check=True): self._save_m2m() return self.instance - epci_commune = forms.ModelChoiceField( - queryset=None, - widget=autocomplete.ListSelect2(), - label=ADS.epci_commune.field.verbose_name, - help_text=ADS.epci_commune.field.help_text, - required=False, - ) - ads_in_use = NullBooleanField( widget=BooleanSelect(), label=ADS.ads_in_use.field.verbose_name,