Просмотр исходного кода

#4624: Refactor ObjectDeleteView to use a queryset

Jeremy Stretch 5 лет назад
Родитель
Сommit
3abb52a085

+ 3 - 3
netbox/circuits/views.py

@@ -74,7 +74,7 @@ class ProviderEditView(ProviderCreateView):
 
 
 class ProviderDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ProviderDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'circuits.delete_provider'
     permission_required = 'circuits.delete_provider'
-    model = Provider
+    queryset = Provider.objects.all()
     default_return_url = 'circuits:provider_list'
     default_return_url = 'circuits:provider_list'
 
 
 
 
@@ -190,7 +190,7 @@ class CircuitEditView(CircuitCreateView):
 
 
 class CircuitDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class CircuitDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'circuits.delete_circuit'
     permission_required = 'circuits.delete_circuit'
-    model = Circuit
+    queryset = Circuit.objects.all()
     default_return_url = 'circuits:circuit_list'
     default_return_url = 'circuits:circuit_list'
 
 
 
 
@@ -292,4 +292,4 @@ class CircuitTerminationEditView(CircuitTerminationCreateView):
 
 
 class CircuitTerminationDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class CircuitTerminationDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'circuits.delete_circuittermination'
     permission_required = 'circuits.delete_circuittermination'
-    model = CircuitTermination
+    queryset = CircuitTermination.objects.all()

+ 26 - 26
netbox/dcim/views.py

@@ -232,7 +232,7 @@ class SiteEditView(SiteCreateView):
 
 
 class SiteDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class SiteDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_site'
     permission_required = 'dcim.delete_site'
-    model = Site
+    queryset = Site.objects.all()
     default_return_url = 'dcim:site_list'
     default_return_url = 'dcim:site_list'
 
 
 
 
@@ -438,7 +438,7 @@ class RackEditView(RackCreateView):
 
 
 class RackDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class RackDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_rack'
     permission_required = 'dcim.delete_rack'
-    model = Rack
+    queryset = Rack.objects.all()
     default_return_url = 'dcim:rack_list'
     default_return_url = 'dcim:rack_list'
 
 
 
 
@@ -512,7 +512,7 @@ class RackReservationEditView(RackReservationCreateView):
 
 
 class RackReservationDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class RackReservationDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_rackreservation'
     permission_required = 'dcim.delete_rackreservation'
-    model = RackReservation
+    queryset = RackReservation.objects.all()
     default_return_url = 'dcim:rackreservation_list'
     default_return_url = 'dcim:rackreservation_list'
 
 
 
 
@@ -678,7 +678,7 @@ class DeviceTypeEditView(DeviceTypeCreateView):
 
 
 class DeviceTypeDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class DeviceTypeDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_devicetype'
     permission_required = 'dcim.delete_devicetype'
-    model = DeviceType
+    queryset = DeviceType.objects.all()
     default_return_url = 'dcim:devicetype_list'
     default_return_url = 'dcim:devicetype_list'
 
 
 
 
@@ -746,7 +746,7 @@ class ConsolePortTemplateEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class ConsolePortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ConsolePortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_consoleporttemplate'
     permission_required = 'dcim.delete_consoleporttemplate'
-    model = ConsolePortTemplate
+    queryset = ConsolePortTemplate.objects.all()
 
 
 
 
 class ConsolePortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class ConsolePortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
@@ -782,7 +782,7 @@ class ConsoleServerPortTemplateEditView(PermissionRequiredMixin, ObjectEditView)
 
 
 class ConsoleServerPortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ConsoleServerPortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_consoleserverporttemplate'
     permission_required = 'dcim.delete_consoleserverporttemplate'
-    model = ConsoleServerPortTemplate
+    queryset = ConsoleServerPortTemplate.objects.all()
 
 
 
 
 class ConsoleServerPortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class ConsoleServerPortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
@@ -818,7 +818,7 @@ class PowerPortTemplateEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class PowerPortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class PowerPortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_powerporttemplate'
     permission_required = 'dcim.delete_powerporttemplate'
-    model = PowerPortTemplate
+    queryset = PowerPortTemplate.objects.all()
 
 
 
 
 class PowerPortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class PowerPortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
@@ -854,7 +854,7 @@ class PowerOutletTemplateEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class PowerOutletTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class PowerOutletTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_poweroutlettemplate'
     permission_required = 'dcim.delete_poweroutlettemplate'
-    model = PowerOutletTemplate
+    queryset = PowerOutletTemplate.objects.all()
 
 
 
 
 class PowerOutletTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class PowerOutletTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
@@ -890,7 +890,7 @@ class InterfaceTemplateEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class InterfaceTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class InterfaceTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_interfacetemplate'
     permission_required = 'dcim.delete_interfacetemplate'
-    model = InterfaceTemplate
+    queryset = InterfaceTemplate.objects.all()
 
 
 
 
 class InterfaceTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class InterfaceTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
@@ -926,7 +926,7 @@ class FrontPortTemplateEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class FrontPortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class FrontPortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_frontporttemplate'
     permission_required = 'dcim.delete_frontporttemplate'
-    model = FrontPortTemplate
+    queryset = FrontPortTemplate.objects.all()
 
 
 
 
 class FrontPortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class FrontPortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
@@ -962,7 +962,7 @@ class RearPortTemplateEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class RearPortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class RearPortTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_rearporttemplate'
     permission_required = 'dcim.delete_rearporttemplate'
-    model = RearPortTemplate
+    queryset = RearPortTemplate.objects.all()
 
 
 
 
 class RearPortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class RearPortTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
@@ -998,7 +998,7 @@ class DeviceBayTemplateEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class DeviceBayTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class DeviceBayTemplateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_devicebaytemplate'
     permission_required = 'dcim.delete_devicebaytemplate'
-    model = DeviceBayTemplate
+    queryset = DeviceBayTemplate.objects.all()
 
 
 
 
 # class DeviceBayTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
 # class DeviceBayTemplateBulkEditView(PermissionRequiredMixin, BulkEditView):
@@ -1259,7 +1259,7 @@ class DeviceEditView(DeviceCreateView):
 
 
 class DeviceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class DeviceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_device'
     permission_required = 'dcim.delete_device'
-    model = Device
+    queryset = Device.objects.all()
     default_return_url = 'dcim:device_list'
     default_return_url = 'dcim:device_list'
 
 
 
 
@@ -1336,7 +1336,7 @@ class ConsolePortEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class ConsolePortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ConsolePortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_consoleport'
     permission_required = 'dcim.delete_consoleport'
-    model = ConsolePort
+    queryset = ConsolePort.objects.all()
 
 
 
 
 class ConsolePortBulkImportView(PermissionRequiredMixin, BulkImportView):
 class ConsolePortBulkImportView(PermissionRequiredMixin, BulkImportView):
@@ -1391,7 +1391,7 @@ class ConsoleServerPortEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class ConsoleServerPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ConsoleServerPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_consoleserverport'
     permission_required = 'dcim.delete_consoleserverport'
-    model = ConsoleServerPort
+    queryset = ConsoleServerPort.objects.all()
 
 
 
 
 class ConsoleServerPortBulkImportView(PermissionRequiredMixin, BulkImportView):
 class ConsoleServerPortBulkImportView(PermissionRequiredMixin, BulkImportView):
@@ -1458,7 +1458,7 @@ class PowerPortEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class PowerPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class PowerPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_powerport'
     permission_required = 'dcim.delete_powerport'
-    model = PowerPort
+    queryset = PowerPort.objects.all()
 
 
 
 
 class PowerPortBulkImportView(PermissionRequiredMixin, BulkImportView):
 class PowerPortBulkImportView(PermissionRequiredMixin, BulkImportView):
@@ -1513,7 +1513,7 @@ class PowerOutletEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class PowerOutletDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class PowerOutletDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_poweroutlet'
     permission_required = 'dcim.delete_poweroutlet'
-    model = PowerOutlet
+    queryset = PowerOutlet.objects.all()
 
 
 
 
 class PowerOutletBulkImportView(PermissionRequiredMixin, BulkImportView):
 class PowerOutletBulkImportView(PermissionRequiredMixin, BulkImportView):
@@ -1617,7 +1617,7 @@ class InterfaceEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class InterfaceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class InterfaceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_interface'
     permission_required = 'dcim.delete_interface'
-    model = Interface
+    queryset = Interface.objects.all()
 
 
 
 
 class InterfaceBulkImportView(PermissionRequiredMixin, BulkImportView):
 class InterfaceBulkImportView(PermissionRequiredMixin, BulkImportView):
@@ -1684,7 +1684,7 @@ class FrontPortEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class FrontPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class FrontPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_frontport'
     permission_required = 'dcim.delete_frontport'
-    model = FrontPort
+    queryset = FrontPort.objects.all()
 
 
 
 
 class FrontPortBulkImportView(PermissionRequiredMixin, BulkImportView):
 class FrontPortBulkImportView(PermissionRequiredMixin, BulkImportView):
@@ -1751,7 +1751,7 @@ class RearPortEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class RearPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class RearPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_rearport'
     permission_required = 'dcim.delete_rearport'
-    model = RearPort
+    queryset = RearPort.objects.all()
 
 
 
 
 class RearPortBulkImportView(PermissionRequiredMixin, BulkImportView):
 class RearPortBulkImportView(PermissionRequiredMixin, BulkImportView):
@@ -1820,7 +1820,7 @@ class DeviceBayEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class DeviceBayDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class DeviceBayDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_devicebay'
     permission_required = 'dcim.delete_devicebay'
-    model = DeviceBay
+    queryset = DeviceBay.objects.all()
 
 
 
 
 class DeviceBayPopulateView(PermissionRequiredMixin, View):
 class DeviceBayPopulateView(PermissionRequiredMixin, View):
@@ -2162,7 +2162,7 @@ class CableEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class CableDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class CableDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_cable'
     permission_required = 'dcim.delete_cable'
-    model = Cable
+    queryset = Cable.objects.all()
     default_return_url = 'dcim:cable_list'
     default_return_url = 'dcim:cable_list'
 
 
 
 
@@ -2323,7 +2323,7 @@ class InventoryItemCreateView(PermissionRequiredMixin, ComponentCreateView):
 
 
 class InventoryItemDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class InventoryItemDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_inventoryitem'
     permission_required = 'dcim.delete_inventoryitem'
-    model = InventoryItem
+    queryset = InventoryItem.objects.all()
 
 
 
 
 class InventoryItemBulkImportView(PermissionRequiredMixin, BulkImportView):
 class InventoryItemBulkImportView(PermissionRequiredMixin, BulkImportView):
@@ -2496,7 +2496,7 @@ class VirtualChassisEditView(PermissionRequiredMixin, GetReturnURLMixin, View):
 
 
 class VirtualChassisDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class VirtualChassisDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_virtualchassis'
     permission_required = 'dcim.delete_virtualchassis'
-    model = VirtualChassis
+    queryset = VirtualChassis.objects.all()
     default_return_url = 'dcim:device_list'
     default_return_url = 'dcim:device_list'
 
 
 
 
@@ -2665,7 +2665,7 @@ class PowerPanelEditView(PowerPanelCreateView):
 
 
 class PowerPanelDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class PowerPanelDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_powerpanel'
     permission_required = 'dcim.delete_powerpanel'
-    model = PowerPanel
+    queryset = PowerPanel.objects.all()
     default_return_url = 'dcim:powerpanel_list'
     default_return_url = 'dcim:powerpanel_list'
 
 
 
 
@@ -2737,7 +2737,7 @@ class PowerFeedEditView(PowerFeedCreateView):
 
 
 class PowerFeedDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class PowerFeedDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_powerfeed'
     permission_required = 'dcim.delete_powerfeed'
-    model = PowerFeed
+    queryset = PowerFeed.objects.all()
     default_return_url = 'dcim:powerfeed_list'
     default_return_url = 'dcim:powerfeed_list'
 
 
 
 

+ 3 - 3
netbox/extras/views.py

@@ -75,7 +75,7 @@ class TagEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class TagDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class TagDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'extras.delete_tag'
     permission_required = 'extras.delete_tag'
-    model = Tag
+    queryset = Tag.objects.all()
     default_return_url = 'extras:tag_list'
     default_return_url = 'extras:tag_list'
 
 
 
 
@@ -157,7 +157,7 @@ class ConfigContextBulkEditView(PermissionRequiredMixin, BulkEditView):
 
 
 class ConfigContextDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ConfigContextDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'extras.delete_configcontext'
     permission_required = 'extras.delete_configcontext'
-    model = ConfigContext
+    queryset = ConfigContext.objects.all()
     default_return_url = 'extras:configcontext_list'
     default_return_url = 'extras:configcontext_list'
 
 
 
 
@@ -322,7 +322,7 @@ class ImageAttachmentEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class ImageAttachmentDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ImageAttachmentDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'extras.delete_imageattachment'
     permission_required = 'extras.delete_imageattachment'
-    model = ImageAttachment
+    queryset = ImageAttachment.objects.all()
 
 
     def get_return_url(self, request, imageattachment):
     def get_return_url(self, request, imageattachment):
         return imageattachment.parent.get_absolute_url()
         return imageattachment.parent.get_absolute_url()

+ 6 - 6
netbox/ipam/views.py

@@ -148,7 +148,7 @@ class VRFEditView(VRFCreateView):
 
 
 class VRFDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class VRFDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_vrf'
     permission_required = 'ipam.delete_vrf'
-    model = VRF
+    queryset = VRF.objects.all()
     default_return_url = 'ipam:vrf_list'
     default_return_url = 'ipam:vrf_list'
 
 
 
 
@@ -373,7 +373,7 @@ class AggregateEditView(AggregateCreateView):
 
 
 class AggregateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class AggregateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_aggregate'
     permission_required = 'ipam.delete_aggregate'
-    model = Aggregate
+    queryset = Aggregate.objects.all()
     default_return_url = 'ipam:aggregate_list'
     default_return_url = 'ipam:aggregate_list'
 
 
 
 
@@ -600,7 +600,7 @@ class PrefixEditView(PrefixCreateView):
 
 
 class PrefixDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class PrefixDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_prefix'
     permission_required = 'ipam.delete_prefix'
-    model = Prefix
+    queryset = Prefix.objects.all()
     template_name = 'ipam/prefix_delete.html'
     template_name = 'ipam/prefix_delete.html'
     default_return_url = 'ipam:prefix_list'
     default_return_url = 'ipam:prefix_list'
 
 
@@ -766,7 +766,7 @@ class IPAddressAssignView(PermissionRequiredMixin, View):
 
 
 class IPAddressDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class IPAddressDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_ipaddress'
     permission_required = 'ipam.delete_ipaddress'
-    model = IPAddress
+    queryset = IPAddress.objects.all()
     default_return_url = 'ipam:ipaddress_list'
     default_return_url = 'ipam:ipaddress_list'
 
 
 
 
@@ -945,7 +945,7 @@ class VLANEditView(VLANCreateView):
 
 
 class VLANDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class VLANDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_vlan'
     permission_required = 'ipam.delete_vlan'
-    model = VLAN
+    queryset = VLAN.objects.all()
     default_return_url = 'ipam:vlan_list'
     default_return_url = 'ipam:vlan_list'
 
 
 
 
@@ -1028,7 +1028,7 @@ class ServiceEditView(ServiceCreateView):
 
 
 class ServiceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ServiceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_service'
     permission_required = 'ipam.delete_service'
-    model = Service
+    queryset = Service.objects.all()
 
 
 
 
 class ServiceBulkEditView(PermissionRequiredMixin, BulkEditView):
 class ServiceBulkEditView(PermissionRequiredMixin, BulkEditView):

+ 1 - 1
netbox/secrets/views.py

@@ -191,7 +191,7 @@ def secret_edit(request, pk):
 
 
 class SecretDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class SecretDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'secrets.delete_secret'
     permission_required = 'secrets.delete_secret'
-    model = Secret
+    queryset = Secret.objects.all()
     default_return_url = 'secrets:secret_list'
     default_return_url = 'secrets:secret_list'
 
 
 
 

+ 1 - 1
netbox/tenancy/views.py

@@ -107,7 +107,7 @@ class TenantEditView(TenantCreateView):
 
 
 class TenantDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class TenantDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'tenancy.delete_tenant'
     permission_required = 'tenancy.delete_tenant'
-    model = Tenant
+    queryset = Tenant.objects.all()
     default_return_url = 'tenancy:tenant_list'
     default_return_url = 'tenancy:tenant_list'
 
 
 
 

+ 8 - 8
netbox/utilities/views.py

@@ -216,7 +216,7 @@ class ObjectEditView(GetReturnURLMixin, View):
     """
     """
     Create or edit a single object.
     Create or edit a single object.
 
 
-    queryset: The base queryset for the model being modified
+    queryset: The base queryset for the object being modified
     model_form: The form used to create or edit the object
     model_form: The form used to create or edit the object
     template_name: The name of the template
     template_name: The name of the template
     """
     """
@@ -304,18 +304,18 @@ class ObjectDeleteView(GetReturnURLMixin, View):
     """
     """
     Delete a single object.
     Delete a single object.
 
 
-    model: The model of the object being deleted
+    queryset: The base queryset for the object being deleted
     template_name: The name of the template
     template_name: The name of the template
     """
     """
-    model = None
+    queryset = None
     template_name = 'utilities/obj_delete.html'
     template_name = 'utilities/obj_delete.html'
 
 
     def get_object(self, kwargs):
     def get_object(self, kwargs):
         # Look up object by slug if one has been provided. Otherwise, use PK.
         # Look up object by slug if one has been provided. Otherwise, use PK.
         if 'slug' in kwargs:
         if 'slug' in kwargs:
-            return get_object_or_404(self.model, slug=kwargs['slug'])
+            return get_object_or_404(self.queryset, slug=kwargs['slug'])
         else:
         else:
-            return get_object_or_404(self.model, pk=kwargs['pk'])
+            return get_object_or_404(self.queryset, pk=kwargs['pk'])
 
 
     def get(self, request, **kwargs):
     def get(self, request, **kwargs):
         obj = self.get_object(kwargs)
         obj = self.get_object(kwargs)
@@ -324,7 +324,7 @@ class ObjectDeleteView(GetReturnURLMixin, View):
         return render(request, self.template_name, {
         return render(request, self.template_name, {
             'obj': obj,
             'obj': obj,
             'form': form,
             'form': form,
-            'obj_type': self.model._meta.verbose_name,
+            'obj_type': self.queryset.model._meta.verbose_name,
             'return_url': self.get_return_url(request, obj),
             'return_url': self.get_return_url(request, obj),
         })
         })
 
 
@@ -343,7 +343,7 @@ class ObjectDeleteView(GetReturnURLMixin, View):
                 handle_protectederror(obj, request, e)
                 handle_protectederror(obj, request, e)
                 return redirect(obj.get_absolute_url())
                 return redirect(obj.get_absolute_url())
 
 
-            msg = 'Deleted {} {}'.format(self.model._meta.verbose_name, obj)
+            msg = 'Deleted {} {}'.format(self.queryset.model._meta.verbose_name, obj)
             logger.info(msg)
             logger.info(msg)
             messages.success(request, msg)
             messages.success(request, msg)
 
 
@@ -359,7 +359,7 @@ class ObjectDeleteView(GetReturnURLMixin, View):
         return render(request, self.template_name, {
         return render(request, self.template_name, {
             'obj': obj,
             'obj': obj,
             'form': form,
             'form': form,
-            'obj_type': self.model._meta.verbose_name,
+            'obj_type': self.queryset.model._meta.verbose_name,
             'return_url': self.get_return_url(request, obj),
             'return_url': self.get_return_url(request, obj),
         })
         })
 
 

+ 3 - 3
netbox/virtualization/views.py

@@ -132,7 +132,7 @@ class ClusterEditView(ClusterCreateView):
 
 
 class ClusterDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ClusterDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'virtualization.delete_cluster'
     permission_required = 'virtualization.delete_cluster'
-    model = Cluster
+    queryset = Cluster.objects.all()
     default_return_url = 'virtualization:cluster_list'
     default_return_url = 'virtualization:cluster_list'
 
 
 
 
@@ -293,7 +293,7 @@ class VirtualMachineEditView(VirtualMachineCreateView):
 
 
 class VirtualMachineDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class VirtualMachineDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'virtualization.delete_virtualmachine'
     permission_required = 'virtualization.delete_virtualmachine'
-    model = VirtualMachine
+    queryset = VirtualMachine.objects.all()
     default_return_url = 'virtualization:virtualmachine_list'
     default_return_url = 'virtualization:virtualmachine_list'
 
 
 
 
@@ -342,7 +342,7 @@ class InterfaceEditView(PermissionRequiredMixin, ObjectEditView):
 
 
 class InterfaceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class InterfaceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_interface'
     permission_required = 'dcim.delete_interface'
-    model = Interface
+    queryset = Interface.objects.all()
 
 
 
 
 class InterfaceBulkEditView(PermissionRequiredMixin, BulkEditView):
 class InterfaceBulkEditView(PermissionRequiredMixin, BulkEditView):