mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-14 15:52:18 -06:00
* Extend register_model_view() to enable registering list views * Register circuits list views with register_model_view() * Register core list views with register_model_view() * Fix bulk_edit & bulk_delete URL paths * Register dcim list views with register_model_view() (WIP) * Register dcim list views with register_model_view() * Register extras list views with register_model_view() * Register ipam list views with register_model_view() * Register tenancy list views with register_model_view() * Register users list views with register_model_view() * Register virtualization list views with register_model_view() * Register vpn list views with register_model_view() * Register wireless list views with register_model_view() * Add change note for register_model_view()
This commit is contained in:
@@ -31,6 +31,7 @@ from .models import *
|
||||
# Cluster types
|
||||
#
|
||||
|
||||
@register_model_view(ClusterType, 'list', path='', detail=False)
|
||||
class ClusterTypeListView(generic.ObjectListView):
|
||||
queryset = ClusterType.objects.annotate(
|
||||
cluster_count=count_related(Cluster, 'type')
|
||||
@@ -50,6 +51,7 @@ class ClusterTypeView(GetRelatedModelsMixin, generic.ObjectView):
|
||||
}
|
||||
|
||||
|
||||
@register_model_view(ClusterType, 'add', detail=False)
|
||||
@register_model_view(ClusterType, 'edit')
|
||||
class ClusterTypeEditView(generic.ObjectEditView):
|
||||
queryset = ClusterType.objects.all()
|
||||
@@ -61,11 +63,13 @@ class ClusterTypeDeleteView(generic.ObjectDeleteView):
|
||||
queryset = ClusterType.objects.all()
|
||||
|
||||
|
||||
@register_model_view(ClusterType, 'import', detail=False)
|
||||
class ClusterTypeBulkImportView(generic.BulkImportView):
|
||||
queryset = ClusterType.objects.all()
|
||||
model_form = forms.ClusterTypeImportForm
|
||||
|
||||
|
||||
@register_model_view(ClusterType, 'bulk_edit', path='edit', detail=False)
|
||||
class ClusterTypeBulkEditView(generic.BulkEditView):
|
||||
queryset = ClusterType.objects.annotate(
|
||||
cluster_count=count_related(Cluster, 'type')
|
||||
@@ -75,6 +79,7 @@ class ClusterTypeBulkEditView(generic.BulkEditView):
|
||||
form = forms.ClusterTypeBulkEditForm
|
||||
|
||||
|
||||
@register_model_view(ClusterType, 'bulk_delete', path='delete', detail=False)
|
||||
class ClusterTypeBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = ClusterType.objects.annotate(
|
||||
cluster_count=count_related(Cluster, 'type')
|
||||
@@ -87,6 +92,7 @@ class ClusterTypeBulkDeleteView(generic.BulkDeleteView):
|
||||
# Cluster groups
|
||||
#
|
||||
|
||||
@register_model_view(ClusterGroup, 'list', path='', detail=False)
|
||||
class ClusterGroupListView(generic.ObjectListView):
|
||||
queryset = ClusterGroup.objects.annotate(
|
||||
cluster_count=count_related(Cluster, 'group')
|
||||
@@ -106,6 +112,7 @@ class ClusterGroupView(GetRelatedModelsMixin, generic.ObjectView):
|
||||
}
|
||||
|
||||
|
||||
@register_model_view(ClusterGroup, 'add', detail=False)
|
||||
@register_model_view(ClusterGroup, 'edit')
|
||||
class ClusterGroupEditView(generic.ObjectEditView):
|
||||
queryset = ClusterGroup.objects.all()
|
||||
@@ -117,6 +124,7 @@ class ClusterGroupDeleteView(generic.ObjectDeleteView):
|
||||
queryset = ClusterGroup.objects.all()
|
||||
|
||||
|
||||
@register_model_view(ClusterGroup, 'import', detail=False)
|
||||
class ClusterGroupBulkImportView(generic.BulkImportView):
|
||||
queryset = ClusterGroup.objects.annotate(
|
||||
cluster_count=count_related(Cluster, 'group')
|
||||
@@ -124,6 +132,7 @@ class ClusterGroupBulkImportView(generic.BulkImportView):
|
||||
model_form = forms.ClusterGroupImportForm
|
||||
|
||||
|
||||
@register_model_view(ClusterGroup, 'bulk_edit', path='edit', detail=False)
|
||||
class ClusterGroupBulkEditView(generic.BulkEditView):
|
||||
queryset = ClusterGroup.objects.annotate(
|
||||
cluster_count=count_related(Cluster, 'group')
|
||||
@@ -133,6 +142,7 @@ class ClusterGroupBulkEditView(generic.BulkEditView):
|
||||
form = forms.ClusterGroupBulkEditForm
|
||||
|
||||
|
||||
@register_model_view(ClusterGroup, 'bulk_delete', path='delete', detail=False)
|
||||
class ClusterGroupBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = ClusterGroup.objects.annotate(
|
||||
cluster_count=count_related(Cluster, 'group')
|
||||
@@ -150,6 +160,7 @@ class ClusterGroupContactsView(ObjectContactsView):
|
||||
# Clusters
|
||||
#
|
||||
|
||||
@register_model_view(Cluster, 'list', path='', detail=False)
|
||||
class ClusterListView(generic.ObjectListView):
|
||||
permission_required = 'virtualization.view_cluster'
|
||||
queryset = Cluster.objects.annotate(
|
||||
@@ -213,6 +224,7 @@ class ClusterDevicesView(generic.ObjectChildrenView):
|
||||
return Device.objects.restrict(request.user, 'view').filter(cluster=parent)
|
||||
|
||||
|
||||
@register_model_view(Cluster, 'add', detail=False)
|
||||
@register_model_view(Cluster, 'edit')
|
||||
class ClusterEditView(generic.ObjectEditView):
|
||||
queryset = Cluster.objects.all()
|
||||
@@ -224,11 +236,13 @@ class ClusterDeleteView(generic.ObjectDeleteView):
|
||||
queryset = Cluster.objects.all()
|
||||
|
||||
|
||||
@register_model_view(Cluster, 'import', detail=False)
|
||||
class ClusterBulkImportView(generic.BulkImportView):
|
||||
queryset = Cluster.objects.all()
|
||||
model_form = forms.ClusterImportForm
|
||||
|
||||
|
||||
@register_model_view(Cluster, 'bulk_edit', path='edit', detail=False)
|
||||
class ClusterBulkEditView(generic.BulkEditView):
|
||||
queryset = Cluster.objects.all()
|
||||
filterset = filtersets.ClusterFilterSet
|
||||
@@ -236,6 +250,7 @@ class ClusterBulkEditView(generic.BulkEditView):
|
||||
form = forms.ClusterBulkEditForm
|
||||
|
||||
|
||||
@register_model_view(Cluster, 'bulk_delete', path='delete', detail=False)
|
||||
class ClusterBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = Cluster.objects.all()
|
||||
filterset = filtersets.ClusterFilterSet
|
||||
@@ -337,6 +352,7 @@ class ClusterContactsView(ObjectContactsView):
|
||||
# Virtual machines
|
||||
#
|
||||
|
||||
@register_model_view(VirtualMachine, 'list', path='', detail=False)
|
||||
class VirtualMachineListView(generic.ObjectListView):
|
||||
queryset = VirtualMachine.objects.prefetch_related('primary_ip4', 'primary_ip6')
|
||||
filterset = filtersets.VirtualMachineFilterSet
|
||||
@@ -457,6 +473,7 @@ class VirtualMachineRenderConfigView(generic.ObjectView):
|
||||
}
|
||||
|
||||
|
||||
@register_model_view(VirtualMachine, 'add', detail=False)
|
||||
@register_model_view(VirtualMachine, 'edit')
|
||||
class VirtualMachineEditView(generic.ObjectEditView):
|
||||
queryset = VirtualMachine.objects.all()
|
||||
@@ -468,11 +485,13 @@ class VirtualMachineDeleteView(generic.ObjectDeleteView):
|
||||
queryset = VirtualMachine.objects.all()
|
||||
|
||||
|
||||
@register_model_view(VirtualMachine, 'import', detail=False)
|
||||
class VirtualMachineBulkImportView(generic.BulkImportView):
|
||||
queryset = VirtualMachine.objects.all()
|
||||
model_form = forms.VirtualMachineImportForm
|
||||
|
||||
|
||||
@register_model_view(VirtualMachine, 'bulk_edit', path='edit', detail=False)
|
||||
class VirtualMachineBulkEditView(generic.BulkEditView):
|
||||
queryset = VirtualMachine.objects.prefetch_related('primary_ip4', 'primary_ip6')
|
||||
filterset = filtersets.VirtualMachineFilterSet
|
||||
@@ -480,6 +499,7 @@ class VirtualMachineBulkEditView(generic.BulkEditView):
|
||||
form = forms.VirtualMachineBulkEditForm
|
||||
|
||||
|
||||
@register_model_view(VirtualMachine, 'bulk_delete', path='delete', detail=False)
|
||||
class VirtualMachineBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = VirtualMachine.objects.prefetch_related('primary_ip4', 'primary_ip6')
|
||||
filterset = filtersets.VirtualMachineFilterSet
|
||||
@@ -495,6 +515,7 @@ class VirtualMachineContactsView(ObjectContactsView):
|
||||
# VM interfaces
|
||||
#
|
||||
|
||||
@register_model_view(VMInterface, 'list', path='', detail=False)
|
||||
class VMInterfaceListView(generic.ObjectListView):
|
||||
queryset = VMInterface.objects.all()
|
||||
filterset = filtersets.VMInterfaceFilterSet
|
||||
@@ -545,6 +566,7 @@ class VMInterfaceView(generic.ObjectView):
|
||||
}
|
||||
|
||||
|
||||
@register_model_view(VMInterface, 'add', detail=False)
|
||||
class VMInterfaceCreateView(generic.ComponentCreateView):
|
||||
queryset = VMInterface.objects.all()
|
||||
form = forms.VMInterfaceCreateForm
|
||||
@@ -562,11 +584,13 @@ class VMInterfaceDeleteView(generic.ObjectDeleteView):
|
||||
queryset = VMInterface.objects.all()
|
||||
|
||||
|
||||
@register_model_view(VMInterface, 'import', detail=False)
|
||||
class VMInterfaceBulkImportView(generic.BulkImportView):
|
||||
queryset = VMInterface.objects.all()
|
||||
model_form = forms.VMInterfaceImportForm
|
||||
|
||||
|
||||
@register_model_view(VMInterface, 'bulk_edit', path='edit', detail=False)
|
||||
class VMInterfaceBulkEditView(generic.BulkEditView):
|
||||
queryset = VMInterface.objects.all()
|
||||
filterset = filtersets.VMInterfaceFilterSet
|
||||
@@ -574,11 +598,13 @@ class VMInterfaceBulkEditView(generic.BulkEditView):
|
||||
form = forms.VMInterfaceBulkEditForm
|
||||
|
||||
|
||||
@register_model_view(VMInterface, 'bulk_rename', path='rename', detail=False)
|
||||
class VMInterfaceBulkRenameView(generic.BulkRenameView):
|
||||
queryset = VMInterface.objects.all()
|
||||
form = forms.VMInterfaceBulkRenameForm
|
||||
|
||||
|
||||
@register_model_view(VMInterface, 'bulk_delete', path='delete', detail=False)
|
||||
class VMInterfaceBulkDeleteView(generic.BulkDeleteView):
|
||||
# Ensure child interfaces are deleted prior to their parents
|
||||
queryset = VMInterface.objects.order_by('virtual_machine', 'parent', CollateAsChar('_name'))
|
||||
@@ -590,6 +616,7 @@ class VMInterfaceBulkDeleteView(generic.BulkDeleteView):
|
||||
# Virtual disks
|
||||
#
|
||||
|
||||
@register_model_view(VirtualDisk, 'list', path='', detail=False)
|
||||
class VirtualDiskListView(generic.ObjectListView):
|
||||
queryset = VirtualDisk.objects.all()
|
||||
filterset = filtersets.VirtualDiskFilterSet
|
||||
@@ -602,6 +629,7 @@ class VirtualDiskView(generic.ObjectView):
|
||||
queryset = VirtualDisk.objects.all()
|
||||
|
||||
|
||||
@register_model_view(VirtualDisk, 'add', detail=False)
|
||||
class VirtualDiskCreateView(generic.ComponentCreateView):
|
||||
queryset = VirtualDisk.objects.all()
|
||||
form = forms.VirtualDiskCreateForm
|
||||
@@ -619,11 +647,13 @@ class VirtualDiskDeleteView(generic.ObjectDeleteView):
|
||||
queryset = VirtualDisk.objects.all()
|
||||
|
||||
|
||||
@register_model_view(VirtualDisk, 'import', detail=False)
|
||||
class VirtualDiskBulkImportView(generic.BulkImportView):
|
||||
queryset = VirtualDisk.objects.all()
|
||||
model_form = forms.VirtualDiskImportForm
|
||||
|
||||
|
||||
@register_model_view(VirtualDisk, 'bulk_edit', path='edit', detail=False)
|
||||
class VirtualDiskBulkEditView(generic.BulkEditView):
|
||||
queryset = VirtualDisk.objects.all()
|
||||
filterset = filtersets.VirtualDiskFilterSet
|
||||
@@ -631,11 +661,13 @@ class VirtualDiskBulkEditView(generic.BulkEditView):
|
||||
form = forms.VirtualDiskBulkEditForm
|
||||
|
||||
|
||||
@register_model_view(VirtualDisk, 'bulk_rename', path='rename', detail=False)
|
||||
class VirtualDiskBulkRenameView(generic.BulkRenameView):
|
||||
queryset = VirtualDisk.objects.all()
|
||||
form = forms.VirtualDiskBulkRenameForm
|
||||
|
||||
|
||||
@register_model_view(VirtualDisk, 'bulk_delete', path='delete', detail=False)
|
||||
class VirtualDiskBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = VirtualDisk.objects.all()
|
||||
filterset = filtersets.VirtualDiskFilterSet
|
||||
|
||||
Reference in New Issue
Block a user