From 757c4f69d23a660c3a0177d4bb7f4208e9af0966 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 30 Mar 2026 09:15:35 -0400 Subject: [PATCH] Annotate current number of assignments if >100 --- netbox/circuits/forms/model_forms.py | 3 ++- netbox/dcim/forms/model_forms.py | 3 ++- netbox/ipam/forms/model_forms.py | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/netbox/circuits/forms/model_forms.py b/netbox/circuits/forms/model_forms.py index dfc41f590..0535bac5c 100644 --- a/netbox/circuits/forms/model_forms.py +++ b/netbox/circuits/forms/model_forms.py @@ -71,10 +71,11 @@ class ProviderForm(PrimaryModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - if self.instance.pk and self.instance.asns.count() >= M2MAddRemoveFields.THRESHOLD: + 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['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: # Simple mode for new objects or small M2M sets self.fields.pop('add_asns') diff --git a/netbox/dcim/forms/model_forms.py b/netbox/dcim/forms/model_forms.py index ee428d241..cf7a3a80e 100644 --- a/netbox/dcim/forms/model_forms.py +++ b/netbox/dcim/forms/model_forms.py @@ -190,10 +190,11 @@ class SiteForm(TenancyForm, PrimaryModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - if self.instance.pk and self.instance.asns.count() >= M2MAddRemoveFields.THRESHOLD: + 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['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: # Simple mode for new objects or small M2M sets self.fields.pop('add_asns') diff --git a/netbox/ipam/forms/model_forms.py b/netbox/ipam/forms/model_forms.py index 2900a1ff3..a2968e0c9 100644 --- a/netbox/ipam/forms/model_forms.py +++ b/netbox/ipam/forms/model_forms.py @@ -184,10 +184,11 @@ class ASNForm(TenancyForm, PrimaryModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - if self.instance.pk and self.instance.sites.count() >= M2MAddRemoveFields.THRESHOLD: + 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['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: # Simple mode for new objects or small M2M sets self.fields.pop('add_sites')