Przeglądaj źródła

Annotate current number of assignments if >100

Jeremy Stretch 1 dzień temu
rodzic
commit
757c4f69d2

+ 2 - 1
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')

+ 2 - 1
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')

+ 2 - 1
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')