1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Update device/VM component views to use ObjectChildrenView

This commit is contained in:
jeremystretch
2021-12-14 13:41:01 -05:00
parent cfdb985d00
commit 8d3b296eed
3 changed files with 33 additions and 50 deletions

View File

@@ -347,26 +347,20 @@ class VirtualMachineView(generic.ObjectView):
}
class VirtualMachineInterfacesView(generic.ObjectView):
class VirtualMachineInterfacesView(generic.ObjectChildrenView):
queryset = VirtualMachine.objects.all()
child_model = VMInterface
table = tables.VMInterfaceTable
template_name = 'virtualization/virtualmachine/interfaces.html'
def get_extra_context(self, request, instance):
interfaces = instance.interfaces.restrict(request.user, 'view').prefetch_related(
def get_children(self, request, parent):
return parent.interfaces.restrict(request.user, 'view').prefetch_related(
Prefetch('ip_addresses', queryset=IPAddress.objects.restrict(request.user)),
'tags',
)
interface_table = tables.VirtualMachineVMInterfaceTable(
data=interfaces,
user=request.user,
orderable=False
)
if request.user.has_perm('virtualization.change_vminterface') or \
request.user.has_perm('virtualization.delete_vminterface'):
interface_table.columns.show('pk')
def get_extra_context(self, request, instance):
return {
'interface_table': interface_table,
'active_tab': 'interfaces',
}