mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-19 05:21:55 -06:00
Update cluster VM/device views to use ObjectChildrenView
This commit is contained in:
parent
c795068a78
commit
59ee30f056
@ -12,7 +12,7 @@
|
||||
<form action="{% url 'virtualization:cluster_remove_devices' pk=object.pk %}" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="card-body table-responsive">
|
||||
{% render_table devices_table 'inc/table.html' %}
|
||||
{% render_table table 'inc/table.html' %}
|
||||
</div>
|
||||
{% if perms.virtualization.change_cluster %}
|
||||
<div class="card-footer noprint">
|
||||
|
@ -10,7 +10,7 @@
|
||||
Virtual Machines
|
||||
</h5>
|
||||
<div class="card-body table-responsive">
|
||||
{% render_table virtualmachines_table 'inc/table.html' %}
|
||||
{% render_table table 'inc/table.html' %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -161,38 +161,32 @@ class ClusterView(generic.ObjectView):
|
||||
queryset = Cluster.objects.all()
|
||||
|
||||
|
||||
class ClusterVirtualMachinesView(generic.ObjectView):
|
||||
class ClusterVirtualMachinesView(generic.ObjectChildrenView):
|
||||
queryset = Cluster.objects.all()
|
||||
child_model = VirtualMachine
|
||||
table = tables.VirtualMachineTable
|
||||
template_name = 'virtualization/cluster/virtual_machines.html'
|
||||
|
||||
def get_extra_context(self, request, instance):
|
||||
virtualmachines = VirtualMachine.objects.restrict(request.user, 'view').filter(cluster=instance)
|
||||
virtualmachines_table = tables.VirtualMachineTable(
|
||||
virtualmachines,
|
||||
exclude=('cluster',),
|
||||
orderable=False
|
||||
)
|
||||
def get_children(self, request, parent):
|
||||
return VirtualMachine.objects.restrict(request.user, 'view').filter(cluster=parent)
|
||||
|
||||
def get_extra_context(self, request, instance):
|
||||
return {
|
||||
'virtualmachines_table': virtualmachines_table,
|
||||
'active_tab': 'virtual-machines',
|
||||
}
|
||||
|
||||
|
||||
class ClusterDevicesView(generic.ObjectView):
|
||||
class ClusterDevicesView(generic.ObjectChildrenView):
|
||||
queryset = Cluster.objects.all()
|
||||
child_model = Device
|
||||
table = DeviceTable
|
||||
template_name = 'virtualization/cluster/devices.html'
|
||||
|
||||
def get_extra_context(self, request, instance):
|
||||
devices = Device.objects.restrict(request.user, 'view').filter(cluster=instance).prefetch_related(
|
||||
'site', 'rack', 'tenant', 'device_type__manufacturer'
|
||||
)
|
||||
devices_table = DeviceTable(list(devices), orderable=False)
|
||||
if request.user.has_perm('virtualization.change_cluster'):
|
||||
devices_table.columns.show('pk')
|
||||
def get_children(self, request, parent):
|
||||
return Device.objects.restrict(request.user, 'view').filter(cluster=parent)
|
||||
|
||||
def get_extra_context(self, request, instance):
|
||||
return {
|
||||
'devices_table': devices_table,
|
||||
'active_tab': 'devices',
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user