Update VLAN member interface views to use ObjectChildrenView

This commit is contained in:
jeremystretch 2021-12-14 14:03:44 -05:00
parent 5ce080779b
commit c795068a78
3 changed files with 14 additions and 14 deletions

View File

@ -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',
}

View File

@ -3,7 +3,7 @@
{% block content %}
<div class="row">
<div class="col col-md-12">
{% 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 %}
</div>
</div>
{% endblock %}

View File

@ -3,7 +3,7 @@
{% block content %}
<div class="row">
<div class="col col-md-12">
{% 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 %}
</div>
</div>
{% endblock %}