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

Use embedded table to show assigned services under object view

This commit is contained in:
jeremystretch
2023-01-25 20:25:06 -05:00
committed by jeremystretch
parent 8f7c100e22
commit 0f6995e92a
7 changed files with 39 additions and 104 deletions

View File

@@ -327,32 +327,7 @@ class VirtualMachineListView(generic.ObjectListView):
@register_model_view(VirtualMachine)
class VirtualMachineView(generic.ObjectView):
queryset = VirtualMachine.objects.prefetch_related('tenant__group')
def get_extra_context(self, request, instance):
# Interfaces
vminterfaces = VMInterface.objects.restrict(request.user, 'view').filter(
virtual_machine=instance
).prefetch_related(
Prefetch('ip_addresses', queryset=IPAddress.objects.restrict(request.user))
)
vminterface_table = tables.VirtualMachineVMInterfaceTable(vminterfaces, user=request.user, orderable=False)
if request.user.has_perm('virtualization.change_vminterface') or \
request.user.has_perm('virtualization.delete_vminterface'):
vminterface_table.columns.show('pk')
# Services
services = Service.objects.restrict(request.user, 'view').filter(
virtual_machine=instance
).prefetch_related(
Prefetch('ipaddresses', queryset=IPAddress.objects.restrict(request.user)),
'virtual_machine'
)
return {
'vminterface_table': vminterface_table,
'services': services,
}
queryset = VirtualMachine.objects.all()
@register_model_view(VirtualMachine, 'interfaces')