mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Relocate and group generic views
This commit is contained in:
@@ -9,12 +9,9 @@ from dcim.tables import DeviceTable
|
||||
from extras.views import ObjectConfigContextView
|
||||
from ipam.models import IPAddress, Service
|
||||
from ipam.tables import InterfaceIPAddressTable, InterfaceVLANTable
|
||||
from netbox.views import generic
|
||||
from secrets.models import Secret
|
||||
from utilities.utils import get_subquery
|
||||
from utilities.views import (
|
||||
BulkComponentCreateView, BulkDeleteView, BulkEditView, BulkImportView, BulkRenameView, ComponentCreateView,
|
||||
ObjectView, ObjectDeleteView, ObjectEditView, ObjectListView,
|
||||
)
|
||||
from . import filters, forms, tables
|
||||
from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface
|
||||
|
||||
@@ -23,27 +20,27 @@ from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterf
|
||||
# Cluster types
|
||||
#
|
||||
|
||||
class ClusterTypeListView(ObjectListView):
|
||||
class ClusterTypeListView(generic.ObjectListView):
|
||||
queryset = ClusterType.objects.annotate(cluster_count=Count('clusters')).order_by(*ClusterType._meta.ordering)
|
||||
table = tables.ClusterTypeTable
|
||||
|
||||
|
||||
class ClusterTypeEditView(ObjectEditView):
|
||||
class ClusterTypeEditView(generic.ObjectEditView):
|
||||
queryset = ClusterType.objects.all()
|
||||
model_form = forms.ClusterTypeForm
|
||||
|
||||
|
||||
class ClusterTypeDeleteView(ObjectDeleteView):
|
||||
class ClusterTypeDeleteView(generic.ObjectDeleteView):
|
||||
queryset = ClusterType.objects.all()
|
||||
|
||||
|
||||
class ClusterTypeBulkImportView(BulkImportView):
|
||||
class ClusterTypeBulkImportView(generic.BulkImportView):
|
||||
queryset = ClusterType.objects.all()
|
||||
model_form = forms.ClusterTypeCSVForm
|
||||
table = tables.ClusterTypeTable
|
||||
|
||||
|
||||
class ClusterTypeBulkDeleteView(BulkDeleteView):
|
||||
class ClusterTypeBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = ClusterType.objects.annotate(cluster_count=Count('clusters')).order_by(*ClusterType._meta.ordering)
|
||||
table = tables.ClusterTypeTable
|
||||
|
||||
@@ -52,27 +49,27 @@ class ClusterTypeBulkDeleteView(BulkDeleteView):
|
||||
# Cluster groups
|
||||
#
|
||||
|
||||
class ClusterGroupListView(ObjectListView):
|
||||
class ClusterGroupListView(generic.ObjectListView):
|
||||
queryset = ClusterGroup.objects.annotate(cluster_count=Count('clusters')).order_by(*ClusterGroup._meta.ordering)
|
||||
table = tables.ClusterGroupTable
|
||||
|
||||
|
||||
class ClusterGroupEditView(ObjectEditView):
|
||||
class ClusterGroupEditView(generic.ObjectEditView):
|
||||
queryset = ClusterGroup.objects.all()
|
||||
model_form = forms.ClusterGroupForm
|
||||
|
||||
|
||||
class ClusterGroupDeleteView(ObjectDeleteView):
|
||||
class ClusterGroupDeleteView(generic.ObjectDeleteView):
|
||||
queryset = ClusterGroup.objects.all()
|
||||
|
||||
|
||||
class ClusterGroupBulkImportView(BulkImportView):
|
||||
class ClusterGroupBulkImportView(generic.BulkImportView):
|
||||
queryset = ClusterGroup.objects.all()
|
||||
model_form = forms.ClusterGroupCSVForm
|
||||
table = tables.ClusterGroupTable
|
||||
|
||||
|
||||
class ClusterGroupBulkDeleteView(BulkDeleteView):
|
||||
class ClusterGroupBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = ClusterGroup.objects.annotate(cluster_count=Count('clusters')).order_by(*ClusterGroup._meta.ordering)
|
||||
table = tables.ClusterGroupTable
|
||||
|
||||
@@ -81,7 +78,7 @@ class ClusterGroupBulkDeleteView(BulkDeleteView):
|
||||
# Clusters
|
||||
#
|
||||
|
||||
class ClusterListView(ObjectListView):
|
||||
class ClusterListView(generic.ObjectListView):
|
||||
permission_required = 'virtualization.view_cluster'
|
||||
queryset = Cluster.objects.annotate(
|
||||
device_count=get_subquery(Device, 'cluster'),
|
||||
@@ -92,7 +89,7 @@ class ClusterListView(ObjectListView):
|
||||
filterset_form = forms.ClusterFilterForm
|
||||
|
||||
|
||||
class ClusterView(ObjectView):
|
||||
class ClusterView(generic.ObjectView):
|
||||
queryset = Cluster.objects.all()
|
||||
|
||||
def get(self, request, pk):
|
||||
@@ -114,36 +111,36 @@ class ClusterView(ObjectView):
|
||||
})
|
||||
|
||||
|
||||
class ClusterEditView(ObjectEditView):
|
||||
class ClusterEditView(generic.ObjectEditView):
|
||||
template_name = 'virtualization/cluster_edit.html'
|
||||
queryset = Cluster.objects.all()
|
||||
model_form = forms.ClusterForm
|
||||
|
||||
|
||||
class ClusterDeleteView(ObjectDeleteView):
|
||||
class ClusterDeleteView(generic.ObjectDeleteView):
|
||||
queryset = Cluster.objects.all()
|
||||
|
||||
|
||||
class ClusterBulkImportView(BulkImportView):
|
||||
class ClusterBulkImportView(generic.BulkImportView):
|
||||
queryset = Cluster.objects.all()
|
||||
model_form = forms.ClusterCSVForm
|
||||
table = tables.ClusterTable
|
||||
|
||||
|
||||
class ClusterBulkEditView(BulkEditView):
|
||||
class ClusterBulkEditView(generic.BulkEditView):
|
||||
queryset = Cluster.objects.prefetch_related('type', 'group', 'site')
|
||||
filterset = filters.ClusterFilterSet
|
||||
table = tables.ClusterTable
|
||||
form = forms.ClusterBulkEditForm
|
||||
|
||||
|
||||
class ClusterBulkDeleteView(BulkDeleteView):
|
||||
class ClusterBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = Cluster.objects.prefetch_related('type', 'group', 'site')
|
||||
filterset = filters.ClusterFilterSet
|
||||
table = tables.ClusterTable
|
||||
|
||||
|
||||
class ClusterAddDevicesView(ObjectEditView):
|
||||
class ClusterAddDevicesView(generic.ObjectEditView):
|
||||
queryset = Cluster.objects.all()
|
||||
form = forms.ClusterAddDevicesForm
|
||||
template_name = 'virtualization/cluster_add_devices.html'
|
||||
@@ -184,7 +181,7 @@ class ClusterAddDevicesView(ObjectEditView):
|
||||
})
|
||||
|
||||
|
||||
class ClusterRemoveDevicesView(ObjectEditView):
|
||||
class ClusterRemoveDevicesView(generic.ObjectEditView):
|
||||
queryset = Cluster.objects.all()
|
||||
form = forms.ClusterRemoveDevicesForm
|
||||
template_name = 'utilities/obj_bulk_remove.html'
|
||||
@@ -229,7 +226,7 @@ class ClusterRemoveDevicesView(ObjectEditView):
|
||||
# Virtual machines
|
||||
#
|
||||
|
||||
class VirtualMachineListView(ObjectListView):
|
||||
class VirtualMachineListView(generic.ObjectListView):
|
||||
queryset = VirtualMachine.objects.all()
|
||||
filterset = filters.VirtualMachineFilterSet
|
||||
filterset_form = forms.VirtualMachineFilterForm
|
||||
@@ -237,7 +234,7 @@ class VirtualMachineListView(ObjectListView):
|
||||
template_name = 'virtualization/virtualmachine_list.html'
|
||||
|
||||
|
||||
class VirtualMachineView(ObjectView):
|
||||
class VirtualMachineView(generic.ObjectView):
|
||||
queryset = VirtualMachine.objects.prefetch_related('tenant__group')
|
||||
|
||||
def get(self, request, pk):
|
||||
@@ -277,30 +274,30 @@ class VirtualMachineConfigContextView(ObjectConfigContextView):
|
||||
base_template = 'virtualization/virtualmachine.html'
|
||||
|
||||
|
||||
class VirtualMachineEditView(ObjectEditView):
|
||||
class VirtualMachineEditView(generic.ObjectEditView):
|
||||
queryset = VirtualMachine.objects.all()
|
||||
model_form = forms.VirtualMachineForm
|
||||
template_name = 'virtualization/virtualmachine_edit.html'
|
||||
|
||||
|
||||
class VirtualMachineDeleteView(ObjectDeleteView):
|
||||
class VirtualMachineDeleteView(generic.ObjectDeleteView):
|
||||
queryset = VirtualMachine.objects.all()
|
||||
|
||||
|
||||
class VirtualMachineBulkImportView(BulkImportView):
|
||||
class VirtualMachineBulkImportView(generic.BulkImportView):
|
||||
queryset = VirtualMachine.objects.all()
|
||||
model_form = forms.VirtualMachineCSVForm
|
||||
table = tables.VirtualMachineTable
|
||||
|
||||
|
||||
class VirtualMachineBulkEditView(BulkEditView):
|
||||
class VirtualMachineBulkEditView(generic.BulkEditView):
|
||||
queryset = VirtualMachine.objects.prefetch_related('cluster', 'tenant', 'role')
|
||||
filterset = filters.VirtualMachineFilterSet
|
||||
table = tables.VirtualMachineTable
|
||||
form = forms.VirtualMachineBulkEditForm
|
||||
|
||||
|
||||
class VirtualMachineBulkDeleteView(BulkDeleteView):
|
||||
class VirtualMachineBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = VirtualMachine.objects.prefetch_related('cluster', 'tenant', 'role')
|
||||
filterset = filters.VirtualMachineFilterSet
|
||||
table = tables.VirtualMachineTable
|
||||
@@ -310,7 +307,7 @@ class VirtualMachineBulkDeleteView(BulkDeleteView):
|
||||
# VM interfaces
|
||||
#
|
||||
|
||||
class VMInterfaceListView(ObjectListView):
|
||||
class VMInterfaceListView(generic.ObjectListView):
|
||||
queryset = VMInterface.objects.all()
|
||||
filterset = filters.VMInterfaceFilterSet
|
||||
filterset_form = forms.VMInterfaceFilterForm
|
||||
@@ -318,7 +315,7 @@ class VMInterfaceListView(ObjectListView):
|
||||
action_buttons = ('export',)
|
||||
|
||||
|
||||
class VMInterfaceView(ObjectView):
|
||||
class VMInterfaceView(generic.ObjectView):
|
||||
queryset = VMInterface.objects.all()
|
||||
|
||||
def get(self, request, pk):
|
||||
@@ -353,41 +350,41 @@ class VMInterfaceView(ObjectView):
|
||||
|
||||
|
||||
# TODO: This should not use ComponentCreateView
|
||||
class VMInterfaceCreateView(ComponentCreateView):
|
||||
class VMInterfaceCreateView(generic.ComponentCreateView):
|
||||
queryset = VMInterface.objects.all()
|
||||
form = forms.VMInterfaceCreateForm
|
||||
model_form = forms.VMInterfaceForm
|
||||
template_name = 'virtualization/virtualmachine_component_add.html'
|
||||
|
||||
|
||||
class VMInterfaceEditView(ObjectEditView):
|
||||
class VMInterfaceEditView(generic.ObjectEditView):
|
||||
queryset = VMInterface.objects.all()
|
||||
model_form = forms.VMInterfaceForm
|
||||
template_name = 'virtualization/vminterface_edit.html'
|
||||
|
||||
|
||||
class VMInterfaceDeleteView(ObjectDeleteView):
|
||||
class VMInterfaceDeleteView(generic.ObjectDeleteView):
|
||||
queryset = VMInterface.objects.all()
|
||||
|
||||
|
||||
class VMInterfaceBulkImportView(BulkImportView):
|
||||
class VMInterfaceBulkImportView(generic.BulkImportView):
|
||||
queryset = VMInterface.objects.all()
|
||||
model_form = forms.VMInterfaceCSVForm
|
||||
table = tables.VMInterfaceTable
|
||||
|
||||
|
||||
class VMInterfaceBulkEditView(BulkEditView):
|
||||
class VMInterfaceBulkEditView(generic.BulkEditView):
|
||||
queryset = VMInterface.objects.all()
|
||||
table = tables.VMInterfaceTable
|
||||
form = forms.VMInterfaceBulkEditForm
|
||||
|
||||
|
||||
class VMInterfaceBulkRenameView(BulkRenameView):
|
||||
class VMInterfaceBulkRenameView(generic.BulkRenameView):
|
||||
queryset = VMInterface.objects.all()
|
||||
form = forms.VMInterfaceBulkRenameForm
|
||||
|
||||
|
||||
class VMInterfaceBulkDeleteView(BulkDeleteView):
|
||||
class VMInterfaceBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = VMInterface.objects.all()
|
||||
table = tables.VMInterfaceTable
|
||||
|
||||
@@ -396,7 +393,7 @@ class VMInterfaceBulkDeleteView(BulkDeleteView):
|
||||
# Bulk Device component creation
|
||||
#
|
||||
|
||||
class VirtualMachineBulkAddInterfaceView(BulkComponentCreateView):
|
||||
class VirtualMachineBulkAddInterfaceView(generic.BulkComponentCreateView):
|
||||
parent_model = VirtualMachine
|
||||
parent_field = 'virtual_machine'
|
||||
form = forms.VMInterfaceBulkCreateForm
|
||||
|
Reference in New Issue
Block a user