Преглед изворни кода

Limit 'add' field choices to objects not already assigned

Jeremy Stretch пре 1 дан
родитељ
комит
0154a09856

+ 1 - 0
netbox/circuits/forms/model_forms.py

@@ -74,6 +74,7 @@ class ProviderForm(PrimaryModelForm):
         if self.instance.pk and (count := self.instance.asns.count()) >= M2MAddRemoveFields.THRESHOLD:
             # Add/remove mode for large M2M sets
             self.fields.pop('asns')
+            self.fields['add_asns'].widget.add_query_param('provider_id__n', self.instance.pk)
             self.fields['remove_asns'].widget.add_query_param('provider_id', self.instance.pk)
             self.fields['remove_asns'].help_text = _("{count} ASNs currently assigned").format(count=count)
         else:

+ 1 - 0
netbox/dcim/forms/model_forms.py

@@ -193,6 +193,7 @@ class SiteForm(TenancyForm, PrimaryModelForm):
         if self.instance.pk and (count := self.instance.asns.count()) >= M2MAddRemoveFields.THRESHOLD:
             # Add/remove mode for large M2M sets
             self.fields.pop('asns')
+            self.fields['add_asns'].widget.add_query_param('site_id__n', self.instance.pk)
             self.fields['remove_asns'].widget.add_query_param('site_id', self.instance.pk)
             self.fields['remove_asns'].help_text = _("{count} ASNs currently assigned").format(count=count)
         else:

+ 1 - 0
netbox/ipam/forms/model_forms.py

@@ -187,6 +187,7 @@ class ASNForm(TenancyForm, PrimaryModelForm):
         if self.instance.pk and (count := self.instance.sites.count()) >= M2MAddRemoveFields.THRESHOLD:
             # Add/remove mode for large M2M sets
             self.fields.pop('sites')
+            self.fields['add_sites'].widget.add_query_param('asn_id__n', self.instance.pk)
             self.fields['remove_sites'].widget.add_query_param('asn_id', self.instance.pk)
             self.fields['remove_sites'].help_text = _("{count} sites currently assigned").format(count=count)
         else: