From c795068a78cc24a17f98ef5c8f55218521c0d663 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 14 Dec 2021 14:03:44 -0500 Subject: [PATCH] Update VLAN member interface views to use ObjectChildrenView --- netbox/ipam/views.py | 24 ++++++++++---------- netbox/templates/ipam/vlan/interfaces.html | 2 +- netbox/templates/ipam/vlan/vminterfaces.html | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 919f069b0..08253c054 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -955,32 +955,32 @@ class VLANView(generic.ObjectView): } -class VLANInterfacesView(generic.ObjectView): +class VLANInterfacesView(generic.ObjectChildrenView): queryset = VLAN.objects.all() + child_model = Interface + table = tables.VLANDevicesTable template_name = 'ipam/vlan/interfaces.html' - def get_extra_context(self, request, instance): - interfaces = instance.get_interfaces().prefetch_related('device') - members_table = tables.VLANDevicesTable(interfaces) - paginate_table(members_table, request) + def get_children(self, request, parent): + return parent.get_interfaces().restrict(request.user, 'view') + def get_extra_context(self, request, instance): return { - 'members_table': members_table, 'active_tab': 'interfaces', } -class VLANVMInterfacesView(generic.ObjectView): +class VLANVMInterfacesView(generic.ObjectChildrenView): queryset = VLAN.objects.all() + child_model = VMInterface + table = tables.VLANVirtualMachinesTable template_name = 'ipam/vlan/vminterfaces.html' - def get_extra_context(self, request, instance): - interfaces = instance.get_vminterfaces().prefetch_related('virtual_machine') - members_table = tables.VLANVirtualMachinesTable(interfaces) - paginate_table(members_table, request) + def get_children(self, request, parent): + return parent.get_vminterfaces().restrict(request.user, 'view') + def get_extra_context(self, request, instance): return { - 'members_table': members_table, 'active_tab': 'vminterfaces', } diff --git a/netbox/templates/ipam/vlan/interfaces.html b/netbox/templates/ipam/vlan/interfaces.html index d0eff51e5..b115c39a3 100644 --- a/netbox/templates/ipam/vlan/interfaces.html +++ b/netbox/templates/ipam/vlan/interfaces.html @@ -3,7 +3,7 @@ {% block content %}
- {% include 'utilities/obj_table.html' with table=members_table heading='Device Interfaces' parent=vlan %} + {% include 'utilities/obj_table.html' with heading='Device Interfaces' parent=vlan %}
{% endblock %} diff --git a/netbox/templates/ipam/vlan/vminterfaces.html b/netbox/templates/ipam/vlan/vminterfaces.html index 33e78a39f..024c14a30 100644 --- a/netbox/templates/ipam/vlan/vminterfaces.html +++ b/netbox/templates/ipam/vlan/vminterfaces.html @@ -3,7 +3,7 @@ {% block content %}
- {% include 'utilities/obj_table.html' with table=members_table heading='Virtual Machine Interfaces' parent=vlan %} + {% include 'utilities/obj_table.html' with heading='Virtual Machine Interfaces' parent=vlan %}
{% endblock %}