1
0
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:
Jeremy Stretch
2020-11-11 16:07:38 -05:00
parent 8714c33e8a
commit b3c770216e
12 changed files with 1682 additions and 1699 deletions

View File

@@ -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