mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 09:16:10 -06:00
added vm tab on device role
This commit is contained in:
parent
d7c37d9dd6
commit
1f6208443c
@ -21,7 +21,9 @@ from utilities.paginator import EnhancedPaginator, get_paginate_count
|
|||||||
from utilities.permissions import get_permission_for_model
|
from utilities.permissions import get_permission_for_model
|
||||||
from utilities.utils import count_related
|
from utilities.utils import count_related
|
||||||
from utilities.views import GetReturnURLMixin, ObjectPermissionRequiredMixin, ViewTab, register_model_view
|
from utilities.views import GetReturnURLMixin, ObjectPermissionRequiredMixin, ViewTab, register_model_view
|
||||||
|
from virtualization.filtersets import VirtualMachineFilterSet
|
||||||
from virtualization.models import VirtualMachine
|
from virtualization.models import VirtualMachine
|
||||||
|
from virtualization.tables import VirtualMachineTable
|
||||||
from . import filtersets, forms, tables
|
from . import filtersets, forms, tables
|
||||||
from .choices import DeviceFaceChoices
|
from .choices import DeviceFaceChoices
|
||||||
from .constants import NONCONNECTABLE_IFACE_TYPES
|
from .constants import NONCONNECTABLE_IFACE_TYPES
|
||||||
@ -1735,6 +1737,22 @@ class DeviceRoleView(generic.ObjectView):
|
|||||||
'virtualmachine_count': VirtualMachine.objects.filter(role=instance).count(),
|
'virtualmachine_count': VirtualMachine.objects.filter(role=instance).count(),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@register_model_view(DeviceRole, 'virtual_machines', path='virtual-machines')
|
||||||
|
class DeviceRoleVirtualMachinesView(generic.ObjectChildrenView):
|
||||||
|
queryset = DeviceRole.objects.all()
|
||||||
|
child_model = VirtualMachine
|
||||||
|
table = VirtualMachineTable
|
||||||
|
filterset = VirtualMachineFilterSet
|
||||||
|
template_name = 'virtualization/cluster/virtual_machines.html'
|
||||||
|
tab = ViewTab(
|
||||||
|
label=_('Virtual machines'),
|
||||||
|
badge=lambda obj: obj.virtual_machines.count(),
|
||||||
|
permission='virtualization.view_virtualmachine',
|
||||||
|
weight=500
|
||||||
|
)
|
||||||
|
|
||||||
|
def get_children(self, request, parent):
|
||||||
|
return VirtualMachine.objects.restrict(request.user, 'view').filter(role=parent)
|
||||||
|
|
||||||
@register_model_view(DeviceRole, 'edit')
|
@register_model_view(DeviceRole, 'edit')
|
||||||
class DeviceRoleEditView(generic.ObjectEditView):
|
class DeviceRoleEditView(generic.ObjectEditView):
|
||||||
|
Loading…
Reference in New Issue
Block a user