2
0
Эх сурвалжийг харах

Closes #8973: Display VLAN group count under site view

jeremystretch 3 жил өмнө
parent
commit
d93e944c07

+ 4 - 0
docs/release-notes/version-3.2.md

@@ -2,6 +2,10 @@
 
 ## v3.2.1 (FUTURE)
 
+### Enhancements
+
+* [#8973](https://github.com/netbox-community/netbox/issues/8973) - Display VLAN group count under site view
+
 ### Bug Fixes
 
 * [#8931](https://github.com/netbox-community/netbox/issues/8931) - Copy assigned tenant when cloning a location

+ 5 - 1
netbox/dcim/views.py

@@ -14,7 +14,7 @@ from django.views.generic import View
 
 from circuits.models import Circuit
 from extras.views import ObjectConfigContextView
-from ipam.models import ASN, IPAddress, Prefix, Service, VLAN
+from ipam.models import ASN, IPAddress, Prefix, Service, VLAN, VLANGroup
 from ipam.tables import AssignedIPAddressesTable, InterfaceVLANTable
 from netbox.views import generic
 from utilities.forms import ConfirmationForm
@@ -320,6 +320,10 @@ class SiteView(generic.ObjectView):
             'rack_count': Rack.objects.restrict(request.user, 'view').filter(site=instance).count(),
             'device_count': Device.objects.restrict(request.user, 'view').filter(site=instance).count(),
             'prefix_count': Prefix.objects.restrict(request.user, 'view').filter(site=instance).count(),
+            'vlangroup_count': VLANGroup.objects.restrict(request.user, 'view').filter(
+                scope_type=ContentType.objects.get_for_model(Site),
+                scope_id=instance.pk
+            ).count(),
             'vlan_count': VLAN.objects.restrict(request.user, 'view').filter(site=instance).count(),
             'circuit_count': Circuit.objects.restrict(request.user, 'view').filter(terminations__site=instance).count(),
             'vm_count': VirtualMachine.objects.restrict(request.user, 'view').filter(cluster__site=instance).count(),

+ 10 - 0
netbox/templates/dcim/site.html

@@ -188,6 +188,16 @@
                 {% endif %}
               </td>
             </tr>
+            <tr>
+              <th scope="row">VLAN Groups</th>
+              <td class="text-end">
+                {% if stats.vlangroup_count %}
+                  <a href="{% url 'ipam:vlangroup_list' %}?site={{ object.pk }}">{{ stats.vlangroup_count }}</a>
+                {% else %}
+                  {{ ''|placeholder }}
+                {% endif %}
+              </td>
+            </tr>
             <tr>
               <th scope="row">VLANs</th>
               <td class="text-end">