mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-23 07:56:44 -06:00
8356 vm disk tables
This commit is contained in:
parent
42abd90c07
commit
3f59539ff3
@ -0,0 +1,14 @@
|
||||
{% extends 'generic/object_children.html' %}
|
||||
{% load helpers %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bulk_edit_controls %}
|
||||
{{ block.super }}
|
||||
{% if 'bulk_rename' in actions %}
|
||||
<button type="submit" name="_rename"
|
||||
formaction="{% url 'virtualization:vminterface_bulk_rename' %}?return_url={{ return_url }}"
|
||||
class="btn btn-outline-warning btn-sm">
|
||||
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> {% trans "Rename" %}
|
||||
</button>
|
||||
{% endif %}
|
||||
{% endblock bulk_edit_controls %}
|
@ -9,6 +9,7 @@ from virtualization.models import VirtualDisk, VirtualMachine, VMInterface
|
||||
__all__ = (
|
||||
'VirtualDiskTable',
|
||||
'VirtualMachineTable',
|
||||
'VirtualMachineVirtualDiskTable',
|
||||
'VirtualMachineVMInterfaceTable',
|
||||
'VMInterfaceTable',
|
||||
)
|
||||
@ -161,7 +162,31 @@ class VirtualMachineVMInterfaceTable(VMInterfaceTable):
|
||||
}
|
||||
|
||||
|
||||
class VirtualDiskTable(VMInterfaceTable):
|
||||
class VirtualDiskTable(NetBoxTable):
|
||||
virtual_machine = tables.Column(
|
||||
verbose_name=_('Virtual Machine'),
|
||||
linkify=True
|
||||
)
|
||||
name = tables.Column(
|
||||
verbose_name=_('Name'),
|
||||
linkify=True
|
||||
)
|
||||
tags = columns.TagColumn(
|
||||
url_name='virtualization:virtualdisk_list'
|
||||
)
|
||||
|
||||
class Meta(NetBoxTable.Meta):
|
||||
model = VirtualDisk
|
||||
fields = (
|
||||
'pk', 'id', 'name', 'size', 'tags',
|
||||
)
|
||||
default_columns = ('pk', 'name', 'size')
|
||||
row_attrs = {
|
||||
'data-name': lambda record: record.name,
|
||||
}
|
||||
|
||||
|
||||
class VirtualMachineVirtualDiskTable(VirtualDiskTable):
|
||||
actions = columns.ActionsColumn(
|
||||
actions=('edit', 'delete'),
|
||||
)
|
||||
@ -169,9 +194,9 @@ class VirtualDiskTable(VMInterfaceTable):
|
||||
class Meta(NetBoxTable.Meta):
|
||||
model = VirtualDisk
|
||||
fields = (
|
||||
'pk', 'id', 'name', 'size', 'tags', 'actions',
|
||||
'pk', 'id', 'name', 'tags', 'actions',
|
||||
)
|
||||
default_columns = ('pk', 'name', 'size')
|
||||
default_columns = ('pk', 'name',)
|
||||
row_attrs = {
|
||||
'data-name': lambda record: record.name,
|
||||
}
|
||||
|
@ -365,8 +365,31 @@ class VirtualMachineInterfacesView(generic.ObjectChildrenView):
|
||||
permission='virtualization.view_vminterface',
|
||||
weight=500
|
||||
)
|
||||
actions = ('add', 'import', 'export', 'bulk_edit', 'bulk_delete', 'bulk_rename')
|
||||
action_perms = defaultdict(set, **{
|
||||
'add': {'add'},
|
||||
'import': {'add'},
|
||||
'bulk_edit': {'change'},
|
||||
'bulk_delete': {'delete'},
|
||||
'bulk_rename': {'change'},
|
||||
})
|
||||
|
||||
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',
|
||||
)
|
||||
|
||||
|
||||
@register_model_view(VirtualMachine, 'disks')
|
||||
class VirtualMachineVirtualDisksView(generic.ObjectChildrenView):
|
||||
queryset = VirtualMachine.objects.all()
|
||||
child_model = VirtualDisk
|
||||
table = tables.VirtualMachineVirtualDiskTable
|
||||
filterset = filtersets.VirtualDiskFilterSet
|
||||
template_name = 'virtualization/virtualmachine/virtual_disks.html'
|
||||
tab = ViewTab(
|
||||
label=_('Disks'),
|
||||
label=_('Virtual Disks'),
|
||||
badge=lambda obj: obj.virtual_disk_count,
|
||||
permission='virtualization.view_virtual_disk',
|
||||
weight=500
|
||||
@ -381,8 +404,7 @@ class VirtualMachineInterfacesView(generic.ObjectChildrenView):
|
||||
})
|
||||
|
||||
def get_children(self, request, parent):
|
||||
return parent.interfaces.restrict(request.user, 'view').prefetch_related(
|
||||
Prefetch('ip_addresses', queryset=IPAddress.objects.restrict(request.user)),
|
||||
return parent.virtualdisks.restrict(request.user, 'view').prefetch_related(
|
||||
'tags',
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user