From d93e944c07a1f045514f973cb9d8a84dccc1e70e Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 6 Apr 2022 20:12:14 -0400 Subject: [PATCH] Closes #8973: Display VLAN group count under site view --- docs/release-notes/version-3.2.md | 4 ++++ netbox/dcim/views.py | 6 +++++- netbox/templates/dcim/site.html | 10 ++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.2.md b/docs/release-notes/version-3.2.md index 4740d0e0c..90f339111 100644 --- a/docs/release-notes/version-3.2.md +++ b/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 diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index e60e6abc8..c0b46f16e 100644 --- a/netbox/dcim/views.py +++ b/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(), diff --git a/netbox/templates/dcim/site.html b/netbox/templates/dcim/site.html index fe0a558eb..c15cab468 100644 --- a/netbox/templates/dcim/site.html +++ b/netbox/templates/dcim/site.html @@ -188,6 +188,16 @@ {% endif %} + + VLAN Groups + + {% if stats.vlangroup_count %} + {{ stats.vlangroup_count }} + {% else %} + {{ ''|placeholder }} + {% endif %} + + VLANs