#4416: Add individual delete views for organizational objects

This commit is contained in:
Jeremy Stretch 2020-07-01 12:08:26 -04:00
parent 4613b69c28
commit 8959d2e0a7
13 changed files with 71 additions and 0 deletions

View File

@ -25,6 +25,7 @@ urlpatterns = [
path('circuit-types/import/', views.CircuitTypeBulkImportView.as_view(), name='circuittype_import'),
path('circuit-types/delete/', views.CircuitTypeBulkDeleteView.as_view(), name='circuittype_bulk_delete'),
path('circuit-types/<slug:slug>/edit/', views.CircuitTypeEditView.as_view(), name='circuittype_edit'),
path('circuit-types/<slug:slug>/delete/', views.CircuitTypeDeleteView.as_view(), name='circuittype_delete'),
path('circuit-types/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='circuittype_changelog', kwargs={'model': CircuitType}),
# Circuits

View File

@ -99,6 +99,10 @@ class CircuitTypeEditView(ObjectEditView):
model_form = forms.CircuitTypeForm
class CircuitTypeDeleteView(ObjectDeleteView):
queryset = CircuitType.objects.all()
class CircuitTypeBulkImportView(BulkImportView):
queryset = CircuitType.objects.all()
model_form = forms.CircuitTypeCSVForm

View File

@ -18,6 +18,7 @@ urlpatterns = [
path('regions/import/', views.RegionBulkImportView.as_view(), name='region_import'),
path('regions/delete/', views.RegionBulkDeleteView.as_view(), name='region_bulk_delete'),
path('regions/<int:pk>/edit/', views.RegionEditView.as_view(), name='region_edit'),
path('regions/<int:pk>/delete/', views.RegionDeleteView.as_view(), name='region_delete'),
path('regions/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='region_changelog', kwargs={'model': Region}),
# Sites
@ -38,6 +39,7 @@ urlpatterns = [
path('rack-groups/import/', views.RackGroupBulkImportView.as_view(), name='rackgroup_import'),
path('rack-groups/delete/', views.RackGroupBulkDeleteView.as_view(), name='rackgroup_bulk_delete'),
path('rack-groups/<int:pk>/edit/', views.RackGroupEditView.as_view(), name='rackgroup_edit'),
path('rack-groups/<int:pk>/delete/', views.RackGroupDeleteView.as_view(), name='rackgroup_delete'),
path('rack-groups/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='rackgroup_changelog', kwargs={'model': RackGroup}),
# Rack roles
@ -46,6 +48,7 @@ urlpatterns = [
path('rack-roles/import/', views.RackRoleBulkImportView.as_view(), name='rackrole_import'),
path('rack-roles/delete/', views.RackRoleBulkDeleteView.as_view(), name='rackrole_bulk_delete'),
path('rack-roles/<int:pk>/edit/', views.RackRoleEditView.as_view(), name='rackrole_edit'),
path('rack-roles/<int:pk>/delete/', views.RackRoleDeleteView.as_view(), name='rackrole_delete'),
path('rack-roles/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='rackrole_changelog', kwargs={'model': RackRole}),
# Rack reservations
@ -78,6 +81,7 @@ urlpatterns = [
path('manufacturers/import/', views.ManufacturerBulkImportView.as_view(), name='manufacturer_import'),
path('manufacturers/delete/', views.ManufacturerBulkDeleteView.as_view(), name='manufacturer_bulk_delete'),
path('manufacturers/<slug:slug>/edit/', views.ManufacturerEditView.as_view(), name='manufacturer_edit'),
path('manufacturers/<slug:slug>/delete/', views.ManufacturerDeleteView.as_view(), name='manufacturer_delete'),
path('manufacturers/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='manufacturer_changelog', kwargs={'model': Manufacturer}),
# Device types
@ -153,6 +157,7 @@ urlpatterns = [
path('device-roles/import/', views.DeviceRoleBulkImportView.as_view(), name='devicerole_import'),
path('device-roles/delete/', views.DeviceRoleBulkDeleteView.as_view(), name='devicerole_bulk_delete'),
path('device-roles/<slug:slug>/edit/', views.DeviceRoleEditView.as_view(), name='devicerole_edit'),
path('device-roles/<slug:slug>/delete/', views.DeviceRoleDeleteView.as_view(), name='devicerole_delete'),
path('device-roles/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='devicerole_changelog', kwargs={'model': DeviceRole}),
# Platforms
@ -161,6 +166,7 @@ urlpatterns = [
path('platforms/import/', views.PlatformBulkImportView.as_view(), name='platform_import'),
path('platforms/delete/', views.PlatformBulkDeleteView.as_view(), name='platform_bulk_delete'),
path('platforms/<slug:slug>/edit/', views.PlatformEditView.as_view(), name='platform_edit'),
path('platforms/<slug:slug>/delete/', views.PlatformDeleteView.as_view(), name='platform_delete'),
path('platforms/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='platform_changelog', kwargs={'model': Platform}),
# Devices

View File

@ -122,6 +122,10 @@ class RegionEditView(ObjectEditView):
model_form = forms.RegionForm
class RegionDeleteView(ObjectDeleteView):
queryset = Region.objects.all()
class RegionBulkImportView(BulkImportView):
queryset = Region.objects.all()
model_form = forms.RegionCSVForm
@ -223,6 +227,10 @@ class RackGroupEditView(ObjectEditView):
model_form = forms.RackGroupForm
class RackGroupDeleteView(ObjectDeleteView):
queryset = RackGroup.objects.all()
class RackGroupBulkImportView(BulkImportView):
queryset = RackGroup.objects.all()
model_form = forms.RackGroupCSVForm
@ -249,6 +257,10 @@ class RackRoleEditView(ObjectEditView):
model_form = forms.RackRoleForm
class RackRoleDeleteView(ObjectDeleteView):
queryset = RackRole.objects.all()
class RackRoleBulkImportView(BulkImportView):
queryset = RackRole.objects.all()
model_form = forms.RackRoleCSVForm
@ -462,6 +474,10 @@ class ManufacturerEditView(ObjectEditView):
model_form = forms.ManufacturerForm
class ManufacturerDeleteView(ObjectDeleteView):
queryset = Manufacturer.objects.all()
class ManufacturerBulkImportView(BulkImportView):
queryset = Manufacturer.objects.all()
model_form = forms.ManufacturerCSVForm
@ -860,6 +876,10 @@ class DeviceRoleEditView(ObjectEditView):
model_form = forms.DeviceRoleForm
class DeviceRoleDeleteView(ObjectDeleteView):
queryset = DeviceRole.objects.all()
class DeviceRoleBulkImportView(BulkImportView):
queryset = DeviceRole.objects.all()
model_form = forms.DeviceRoleCSVForm
@ -885,6 +905,10 @@ class PlatformEditView(ObjectEditView):
model_form = forms.PlatformForm
class PlatformDeleteView(ObjectDeleteView):
queryset = Platform.objects.all()
class PlatformBulkImportView(BulkImportView):
queryset = Platform.objects.all()
model_form = forms.PlatformCSVForm

View File

@ -24,6 +24,7 @@ urlpatterns = [
path('rirs/import/', views.RIRBulkImportView.as_view(), name='rir_import'),
path('rirs/delete/', views.RIRBulkDeleteView.as_view(), name='rir_bulk_delete'),
path('rirs/<slug:slug>/edit/', views.RIREditView.as_view(), name='rir_edit'),
path('rirs/<slug:slug>/delete/', views.RIRDeleteView.as_view(), name='rir_delete'),
path('vrfs/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='rir_changelog', kwargs={'model': RIR}),
# Aggregates
@ -43,6 +44,7 @@ urlpatterns = [
path('roles/import/', views.RoleBulkImportView.as_view(), name='role_import'),
path('roles/delete/', views.RoleBulkDeleteView.as_view(), name='role_bulk_delete'),
path('roles/<slug:slug>/edit/', views.RoleEditView.as_view(), name='role_edit'),
path('roles/<slug:slug>/delete/', views.RoleDeleteView.as_view(), name='role_delete'),
path('roles/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='role_changelog', kwargs={'model': Role}),
# Prefixes
@ -77,6 +79,7 @@ urlpatterns = [
path('vlan-groups/import/', views.VLANGroupBulkImportView.as_view(), name='vlangroup_import'),
path('vlan-groups/delete/', views.VLANGroupBulkDeleteView.as_view(), name='vlangroup_bulk_delete'),
path('vlan-groups/<int:pk>/edit/', views.VLANGroupEditView.as_view(), name='vlangroup_edit'),
path('vlan-groups/<int:pk>/delete/', views.VLANGroupDeleteView.as_view(), name='vlangroup_delete'),
path('vlan-groups/<int:pk>/vlans/', views.VLANGroupVLANsView.as_view(), name='vlangroup_vlans'),
path('vlan-groups/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='vlangroup_changelog', kwargs={'model': VLANGroup}),

View File

@ -160,6 +160,10 @@ class RIREditView(ObjectEditView):
model_form = forms.RIRForm
class RIRDeleteView(ObjectDeleteView):
queryset = RIR.objects.all()
class RIRBulkImportView(BulkImportView):
queryset = RIR.objects.all()
model_form = forms.RIRCSVForm
@ -290,6 +294,10 @@ class RoleEditView(ObjectEditView):
model_form = forms.RoleForm
class RoleDeleteView(ObjectDeleteView):
queryset = Role.objects.all()
class RoleBulkImportView(BulkImportView):
queryset = Role.objects.all()
model_form = forms.RoleCSVForm
@ -653,6 +661,10 @@ class VLANGroupEditView(ObjectEditView):
model_form = forms.VLANGroupForm
class VLANGroupDeleteView(ObjectDeleteView):
queryset = VLANGroup.objects.all()
class VLANGroupBulkImportView(BulkImportView):
queryset = VLANGroup.objects.all()
model_form = forms.VLANGroupCSVForm

View File

@ -13,6 +13,7 @@ urlpatterns = [
path('secret-roles/import/', views.SecretRoleBulkImportView.as_view(), name='secretrole_import'),
path('secret-roles/delete/', views.SecretRoleBulkDeleteView.as_view(), name='secretrole_bulk_delete'),
path('secret-roles/<slug:slug>/edit/', views.SecretRoleEditView.as_view(), name='secretrole_edit'),
path('secret-roles/<slug:slug>/delete/', views.SecretRoleDeleteView.as_view(), name='secretrole_delete'),
path('secret-roles/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='secretrole_changelog', kwargs={'model': SecretRole}),
# Secrets

View File

@ -38,6 +38,10 @@ class SecretRoleEditView(ObjectEditView):
model_form = forms.SecretRoleForm
class SecretRoleDeleteView(ObjectDeleteView):
queryset = SecretRole.objects.all()
class SecretRoleBulkImportView(BulkImportView):
queryset = SecretRole.objects.all()
model_form = forms.SecretRoleCSVForm

View File

@ -13,6 +13,7 @@ urlpatterns = [
path('tenant-groups/import/', views.TenantGroupBulkImportView.as_view(), name='tenantgroup_import'),
path('tenant-groups/delete/', views.TenantGroupBulkDeleteView.as_view(), name='tenantgroup_bulk_delete'),
path('tenant-groups/<slug:slug>/edit/', views.TenantGroupEditView.as_view(), name='tenantgroup_edit'),
path('tenant-groups/<slug:slug>/delete/', views.TenantGroupDeleteView.as_view(), name='tenantgroup_delete'),
path('tenant-groups/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='tenantgroup_changelog', kwargs={'model': TenantGroup}),
# Tenants

View File

@ -32,6 +32,10 @@ class TenantGroupEditView(ObjectEditView):
model_form = forms.TenantGroupForm
class TenantGroupDeleteView(ObjectDeleteView):
queryset = TenantGroup.objects.all()
class TenantGroupBulkImportView(BulkImportView):
queryset = TenantGroup.objects.all()
model_form = forms.TenantGroupCSVForm

View File

@ -905,6 +905,7 @@ class ViewTestCases:
GetObjectChangelogViewTestCase,
CreateObjectViewTestCase,
EditObjectViewTestCase,
DeleteObjectViewTestCase,
ListObjectsViewTestCase,
BulkImportObjectsViewTestCase,
BulkDeleteObjectsViewTestCase,

View File

@ -14,6 +14,7 @@ urlpatterns = [
path('cluster-types/import/', views.ClusterTypeBulkImportView.as_view(), name='clustertype_import'),
path('cluster-types/delete/', views.ClusterTypeBulkDeleteView.as_view(), name='clustertype_bulk_delete'),
path('cluster-types/<slug:slug>/edit/', views.ClusterTypeEditView.as_view(), name='clustertype_edit'),
path('cluster-types/<slug:slug>/delete/', views.ClusterTypeDeleteView.as_view(), name='clustertype_delete'),
path('cluster-types/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='clustertype_changelog', kwargs={'model': ClusterType}),
# Cluster groups
@ -22,6 +23,7 @@ urlpatterns = [
path('cluster-groups/import/', views.ClusterGroupBulkImportView.as_view(), name='clustergroup_import'),
path('cluster-groups/delete/', views.ClusterGroupBulkDeleteView.as_view(), name='clustergroup_bulk_delete'),
path('cluster-groups/<slug:slug>/edit/', views.ClusterGroupEditView.as_view(), name='clustergroup_edit'),
path('cluster-groups/<slug:slug>/delete/', views.ClusterGroupDeleteView.as_view(), name='clustergroup_delete'),
path('cluster-groups/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='clustergroup_changelog', kwargs={'model': ClusterGroup}),
# Clusters

View File

@ -31,6 +31,10 @@ class ClusterTypeEditView(ObjectEditView):
model_form = forms.ClusterTypeForm
class ClusterTypeDeleteView(ObjectDeleteView):
queryset = ClusterType.objects.all()
class ClusterTypeBulkImportView(BulkImportView):
queryset = ClusterType.objects.all()
model_form = forms.ClusterTypeCSVForm
@ -56,6 +60,10 @@ class ClusterGroupEditView(ObjectEditView):
model_form = forms.ClusterGroupForm
class ClusterGroupDeleteView(ObjectDeleteView):
queryset = ClusterGroup.objects.all()
class ClusterGroupBulkImportView(BulkImportView):
queryset = ClusterGroup.objects.all()
model_form = forms.ClusterGroupCSVForm