Limit 'add' field choices to objects not already assigned
This commit is contained in:
parent
757c4f69d2
commit
0154a09856
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in New Issue