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:
@@ -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',
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user