mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 04:22:01 -06:00
Transition BulkImportView to use ObjectPermissionRequiredMixin
This commit is contained in:
parent
2b32430a10
commit
5e5038d780
@ -71,8 +71,7 @@ class ProviderDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'circuits:provider_list'
|
||||
|
||||
|
||||
class ProviderBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'circuits.add_provider'
|
||||
class ProviderBulkImportView(BulkImportView):
|
||||
queryset = Provider.objects.all()
|
||||
model_form = forms.ProviderCSVForm
|
||||
table = tables.ProviderTable
|
||||
@ -111,8 +110,7 @@ class CircuitTypeEditView(ObjectEditView):
|
||||
default_return_url = 'circuits:circuittype_list'
|
||||
|
||||
|
||||
class CircuitTypeBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'circuits.add_circuittype'
|
||||
class CircuitTypeBulkImportView(BulkImportView):
|
||||
queryset = CircuitType.objects.all()
|
||||
model_form = forms.CircuitTypeCSVForm
|
||||
table = tables.CircuitTypeTable
|
||||
@ -176,8 +174,7 @@ class CircuitDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'circuits:circuit_list'
|
||||
|
||||
|
||||
class CircuitBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'circuits.add_circuit'
|
||||
class CircuitBulkImportView(BulkImportView):
|
||||
queryset = Circuit.objects.all()
|
||||
model_form = forms.CircuitCSVForm
|
||||
table = tables.CircuitTable
|
||||
|
@ -160,8 +160,7 @@ class RegionEditView(ObjectEditView):
|
||||
default_return_url = 'dcim:region_list'
|
||||
|
||||
|
||||
class RegionBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_region'
|
||||
class RegionBulkImportView(BulkImportView):
|
||||
queryset = Region.objects.all()
|
||||
model_form = forms.RegionCSVForm
|
||||
table = tables.RegionTable
|
||||
@ -225,8 +224,7 @@ class SiteDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'dcim:site_list'
|
||||
|
||||
|
||||
class SiteBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_site'
|
||||
class SiteBulkImportView(BulkImportView):
|
||||
queryset = Site.objects.all()
|
||||
model_form = forms.SiteCSVForm
|
||||
table = tables.SiteTable
|
||||
@ -273,8 +271,7 @@ class RackGroupEditView(ObjectEditView):
|
||||
default_return_url = 'dcim:rackgroup_list'
|
||||
|
||||
|
||||
class RackGroupBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_rackgroup'
|
||||
class RackGroupBulkImportView(BulkImportView):
|
||||
queryset = RackGroup.objects.all()
|
||||
model_form = forms.RackGroupCSVForm
|
||||
table = tables.RackGroupTable
|
||||
@ -304,8 +301,7 @@ class RackRoleEditView(ObjectEditView):
|
||||
default_return_url = 'dcim:rackrole_list'
|
||||
|
||||
|
||||
class RackRoleBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_rackrole'
|
||||
class RackRoleBulkImportView(BulkImportView):
|
||||
queryset = RackRole.objects.all()
|
||||
model_form = forms.RackRoleCSVForm
|
||||
table = tables.RackRoleTable
|
||||
@ -415,8 +411,7 @@ class RackDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'dcim:rack_list'
|
||||
|
||||
|
||||
class RackBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_rack'
|
||||
class RackBulkImportView(BulkImportView):
|
||||
queryset = Rack.objects.all()
|
||||
model_form = forms.RackCSVForm
|
||||
table = tables.RackTable
|
||||
@ -483,8 +478,7 @@ class RackReservationDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'dcim:rackreservation_list'
|
||||
|
||||
|
||||
class RackReservationImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_rackreservation'
|
||||
class RackReservationImportView(BulkImportView):
|
||||
queryset = RackReservation.objects.all()
|
||||
model_form = forms.RackReservationCSVForm
|
||||
table = tables.RackReservationTable
|
||||
@ -537,8 +531,7 @@ class ManufacturerEditView(ObjectEditView):
|
||||
default_return_url = 'dcim:manufacturer_list'
|
||||
|
||||
|
||||
class ManufacturerBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_manufacturer'
|
||||
class ManufacturerBulkImportView(BulkImportView):
|
||||
queryset = Manufacturer.objects.all()
|
||||
model_form = forms.ManufacturerCSVForm
|
||||
table = tables.ManufacturerTable
|
||||
@ -969,8 +962,7 @@ class DeviceRoleEditView(ObjectEditView):
|
||||
default_return_url = 'dcim:devicerole_list'
|
||||
|
||||
|
||||
class DeviceRoleBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_devicerole'
|
||||
class DeviceRoleBulkImportView(BulkImportView):
|
||||
queryset = DeviceRole.objects.all()
|
||||
model_form = forms.DeviceRoleCSVForm
|
||||
table = tables.DeviceRoleTable
|
||||
@ -999,8 +991,7 @@ class PlatformEditView(ObjectEditView):
|
||||
default_return_url = 'dcim:platform_list'
|
||||
|
||||
|
||||
class PlatformBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_platform'
|
||||
class PlatformBulkImportView(BulkImportView):
|
||||
queryset = Platform.objects.all()
|
||||
model_form = forms.PlatformCSVForm
|
||||
table = tables.PlatformTable
|
||||
@ -1186,8 +1177,7 @@ class DeviceDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'dcim:device_list'
|
||||
|
||||
|
||||
class DeviceBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_device'
|
||||
class DeviceBulkImportView(BulkImportView):
|
||||
queryset = Device.objects.all()
|
||||
model_form = forms.DeviceCSVForm
|
||||
table = tables.DeviceImportTable
|
||||
@ -1195,8 +1185,7 @@ class DeviceBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
default_return_url = 'dcim:device_list'
|
||||
|
||||
|
||||
class ChildDeviceBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_device'
|
||||
class ChildDeviceBulkImportView(BulkImportView):
|
||||
queryset = Device.objects.all()
|
||||
model_form = forms.ChildDeviceCSVForm
|
||||
table = tables.DeviceImportTable
|
||||
@ -1261,8 +1250,7 @@ class ConsolePortDeleteView(ObjectDeleteView):
|
||||
queryset = ConsolePort.objects.all()
|
||||
|
||||
|
||||
class ConsolePortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_consoleport'
|
||||
class ConsolePortBulkImportView(BulkImportView):
|
||||
queryset = ConsolePort.objects.all()
|
||||
model_form = forms.ConsolePortCSVForm
|
||||
table = tables.ConsolePortImportTable
|
||||
@ -1314,8 +1302,7 @@ class ConsoleServerPortDeleteView(ObjectDeleteView):
|
||||
queryset = ConsoleServerPort.objects.all()
|
||||
|
||||
|
||||
class ConsoleServerPortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_consoleserverport'
|
||||
class ConsoleServerPortBulkImportView(BulkImportView):
|
||||
queryset = ConsoleServerPort.objects.all()
|
||||
model_form = forms.ConsoleServerPortCSVForm
|
||||
table = tables.ConsoleServerPortImportTable
|
||||
@ -1379,8 +1366,7 @@ class PowerPortDeleteView(ObjectDeleteView):
|
||||
queryset = PowerPort.objects.all()
|
||||
|
||||
|
||||
class PowerPortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_powerport'
|
||||
class PowerPortBulkImportView(BulkImportView):
|
||||
queryset = PowerPort.objects.all()
|
||||
model_form = forms.PowerPortCSVForm
|
||||
table = tables.PowerPortImportTable
|
||||
@ -1432,8 +1418,7 @@ class PowerOutletDeleteView(ObjectDeleteView):
|
||||
queryset = PowerOutlet.objects.all()
|
||||
|
||||
|
||||
class PowerOutletBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_poweroutlet'
|
||||
class PowerOutletBulkImportView(BulkImportView):
|
||||
queryset = PowerOutlet.objects.all()
|
||||
model_form = forms.PowerOutletCSVForm
|
||||
table = tables.PowerOutletImportTable
|
||||
@ -1534,8 +1519,7 @@ class InterfaceDeleteView(ObjectDeleteView):
|
||||
queryset = Interface.objects.all()
|
||||
|
||||
|
||||
class InterfaceBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_interface'
|
||||
class InterfaceBulkImportView(BulkImportView):
|
||||
queryset = Interface.objects.all()
|
||||
model_form = forms.InterfaceCSVForm
|
||||
table = tables.InterfaceImportTable
|
||||
@ -1599,8 +1583,7 @@ class FrontPortDeleteView(ObjectDeleteView):
|
||||
queryset = FrontPort.objects.all()
|
||||
|
||||
|
||||
class FrontPortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_frontport'
|
||||
class FrontPortBulkImportView(BulkImportView):
|
||||
queryset = FrontPort.objects.all()
|
||||
model_form = forms.FrontPortCSVForm
|
||||
table = tables.FrontPortImportTable
|
||||
@ -1664,8 +1647,7 @@ class RearPortDeleteView(ObjectDeleteView):
|
||||
queryset = RearPort.objects.all()
|
||||
|
||||
|
||||
class RearPortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_rearport'
|
||||
class RearPortBulkImportView(BulkImportView):
|
||||
queryset = RearPort.objects.all()
|
||||
model_form = forms.RearPortCSVForm
|
||||
table = tables.RearPortImportTable
|
||||
@ -1800,8 +1782,7 @@ class DeviceBayDepopulateView(PermissionRequiredMixin, View):
|
||||
})
|
||||
|
||||
|
||||
class DeviceBayBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_devicebay'
|
||||
class DeviceBayBulkImportView(BulkImportView):
|
||||
queryset = DeviceBay.objects.all()
|
||||
model_form = forms.DeviceBayCSVForm
|
||||
table = tables.DeviceBayImportTable
|
||||
@ -2072,8 +2053,7 @@ class CableDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'dcim:cable_list'
|
||||
|
||||
|
||||
class CableBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_cable'
|
||||
class CableBulkImportView(BulkImportView):
|
||||
queryset = Cable.objects.all()
|
||||
model_form = forms.CableCSVForm
|
||||
table = tables.CableTable
|
||||
@ -2229,8 +2209,7 @@ class InventoryItemDeleteView(ObjectDeleteView):
|
||||
queryset = InventoryItem.objects.all()
|
||||
|
||||
|
||||
class InventoryItemBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_inventoryitem'
|
||||
class InventoryItemBulkImportView(BulkImportView):
|
||||
queryset = InventoryItem.objects.all()
|
||||
model_form = forms.InventoryItemCSVForm
|
||||
table = tables.InventoryItemTable
|
||||
@ -2564,8 +2543,7 @@ class PowerPanelDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'dcim:powerpanel_list'
|
||||
|
||||
|
||||
class PowerPanelBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_powerpanel'
|
||||
class PowerPanelBulkImportView(BulkImportView):
|
||||
queryset = PowerPanel.objects.all()
|
||||
model_form = forms.PowerPanelCSVForm
|
||||
table = tables.PowerPanelTable
|
||||
@ -2630,8 +2608,7 @@ class PowerFeedDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'dcim:powerfeed_list'
|
||||
|
||||
|
||||
class PowerFeedBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_powerfeed'
|
||||
class PowerFeedBulkImportView(BulkImportView):
|
||||
queryset = PowerFeed.objects.all()
|
||||
model_form = forms.PowerFeedCSVForm
|
||||
table = tables.PowerFeedTable
|
||||
|
@ -146,8 +146,7 @@ class VRFDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'ipam:vrf_list'
|
||||
|
||||
|
||||
class VRFBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'ipam.add_vrf'
|
||||
class VRFBulkImportView(BulkImportView):
|
||||
queryset = VRF.objects.all()
|
||||
model_form = forms.VRFCSVForm
|
||||
table = tables.VRFTable
|
||||
@ -257,8 +256,7 @@ class RIREditView(ObjectEditView):
|
||||
default_return_url = 'ipam:rir_list'
|
||||
|
||||
|
||||
class RIRBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'ipam.add_rir'
|
||||
class RIRBulkImportView(BulkImportView):
|
||||
queryset = RIR.objects.all()
|
||||
model_form = forms.RIRCSVForm
|
||||
table = tables.RIRTable
|
||||
@ -360,8 +358,7 @@ class AggregateDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'ipam:aggregate_list'
|
||||
|
||||
|
||||
class AggregateBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'ipam.add_aggregate'
|
||||
class AggregateBulkImportView(BulkImportView):
|
||||
queryset = Aggregate.objects.all()
|
||||
model_form = forms.AggregateCSVForm
|
||||
table = tables.AggregateTable
|
||||
@ -400,8 +397,7 @@ class RoleEditView(ObjectEditView):
|
||||
default_return_url = 'ipam:role_list'
|
||||
|
||||
|
||||
class RoleBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'ipam.add_role'
|
||||
class RoleBulkImportView(BulkImportView):
|
||||
queryset = Role.objects.all()
|
||||
model_form = forms.RoleCSVForm
|
||||
table = tables.RoleTable
|
||||
@ -576,8 +572,7 @@ class PrefixDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'ipam:prefix_list'
|
||||
|
||||
|
||||
class PrefixBulkImportView(ObjectPermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'ipam.add_prefix'
|
||||
class PrefixBulkImportView(BulkImportView):
|
||||
queryset = Prefix.objects.all()
|
||||
model_form = forms.PrefixCSVForm
|
||||
table = tables.PrefixTable
|
||||
@ -744,8 +739,7 @@ class IPAddressBulkCreateView(PermissionRequiredMixin, BulkCreateView):
|
||||
default_return_url = 'ipam:ipaddress_list'
|
||||
|
||||
|
||||
class IPAddressBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'ipam.add_ipaddress'
|
||||
class IPAddressBulkImportView(BulkImportView):
|
||||
queryset = IPAddress.objects.all()
|
||||
model_form = forms.IPAddressCSVForm
|
||||
table = tables.IPAddressTable
|
||||
@ -787,8 +781,7 @@ class VLANGroupEditView(ObjectEditView):
|
||||
default_return_url = 'ipam:vlangroup_list'
|
||||
|
||||
|
||||
class VLANGroupBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'ipam.add_vlangroup'
|
||||
class VLANGroupBulkImportView(BulkImportView):
|
||||
queryset = VLANGroup.objects.all()
|
||||
model_form = forms.VLANGroupCSVForm
|
||||
table = tables.VLANGroupTable
|
||||
@ -904,8 +897,7 @@ class VLANDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'ipam:vlan_list'
|
||||
|
||||
|
||||
class VLANBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'ipam.add_vlan'
|
||||
class VLANBulkImportView(BulkImportView):
|
||||
queryset = VLAN.objects.all()
|
||||
model_form = forms.VLANCSVForm
|
||||
table = tables.VLANTable
|
||||
@ -969,8 +961,7 @@ class ServiceEditView(ObjectEditView):
|
||||
return service.parent.get_absolute_url()
|
||||
|
||||
|
||||
class ServiceBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'ipam.add_service'
|
||||
class ServiceBulkImportView(BulkImportView):
|
||||
queryset = Service.objects.all()
|
||||
model_form = forms.ServiceCSVForm
|
||||
table = tables.ServiceTable
|
||||
|
@ -41,8 +41,7 @@ class SecretRoleEditView(ObjectEditView):
|
||||
default_return_url = 'secrets:secretrole_list'
|
||||
|
||||
|
||||
class SecretRoleBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'secrets.add_secretrole'
|
||||
class SecretRoleBulkImportView(BulkImportView):
|
||||
queryset = SecretRole.objects.all()
|
||||
model_form = forms.SecretRoleCSVForm
|
||||
table = tables.SecretRoleTable
|
||||
@ -189,7 +188,6 @@ class SecretDeleteView(ObjectDeleteView):
|
||||
|
||||
|
||||
class SecretBulkImportView(BulkImportView):
|
||||
permission_required = 'secrets.add_secret'
|
||||
queryset = Secret.objects.all()
|
||||
model_form = forms.SecretCSVForm
|
||||
table = tables.SecretTable
|
||||
|
@ -35,8 +35,7 @@ class TenantGroupEditView(ObjectEditView):
|
||||
default_return_url = 'tenancy:tenantgroup_list'
|
||||
|
||||
|
||||
class TenantGroupBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'tenancy.add_tenantgroup'
|
||||
class TenantGroupBulkImportView(BulkImportView):
|
||||
queryset = TenantGroup.objects.all()
|
||||
model_form = forms.TenantGroupCSVForm
|
||||
table = tables.TenantGroupTable
|
||||
@ -99,8 +98,7 @@ class TenantDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'tenancy:tenant_list'
|
||||
|
||||
|
||||
class TenantBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'tenancy.add_tenant'
|
||||
class TenantBulkImportView(BulkImportView):
|
||||
queryset = Tenant.objects.all()
|
||||
model_form = forms.TenantCSVForm
|
||||
table = tables.TenantTable
|
||||
|
@ -652,7 +652,7 @@ class ObjectImportView(GetReturnURLMixin, View):
|
||||
})
|
||||
|
||||
|
||||
class BulkImportView(GetReturnURLMixin, View):
|
||||
class BulkImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View):
|
||||
"""
|
||||
Import objects in bulk (CSV format).
|
||||
|
||||
@ -684,6 +684,9 @@ class BulkImportView(GetReturnURLMixin, View):
|
||||
"""
|
||||
return obj_form.save()
|
||||
|
||||
def get_required_permission(self):
|
||||
return get_permission_for_model(self.queryset.model, 'add')
|
||||
|
||||
def get(self, request):
|
||||
|
||||
return render(request, self.template_name, {
|
||||
|
@ -33,8 +33,7 @@ class ClusterTypeEditView(ObjectEditView):
|
||||
default_return_url = 'virtualization:clustertype_list'
|
||||
|
||||
|
||||
class ClusterTypeBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'virtualization.add_clustertype'
|
||||
class ClusterTypeBulkImportView(BulkImportView):
|
||||
queryset = ClusterType.objects.all()
|
||||
model_form = forms.ClusterTypeCSVForm
|
||||
table = tables.ClusterTypeTable
|
||||
@ -63,8 +62,7 @@ class ClusterGroupEditView(ObjectEditView):
|
||||
default_return_url = 'virtualization:clustergroup_list'
|
||||
|
||||
|
||||
class ClusterGroupBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'virtualization.add_clustergroup'
|
||||
class ClusterGroupBulkImportView(BulkImportView):
|
||||
queryset = ClusterGroup.objects.all()
|
||||
model_form = forms.ClusterGroupCSVForm
|
||||
table = tables.ClusterGroupTable
|
||||
@ -119,8 +117,7 @@ class ClusterDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'virtualization:cluster_list'
|
||||
|
||||
|
||||
class ClusterBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'virtualization.add_cluster'
|
||||
class ClusterBulkImportView(BulkImportView):
|
||||
queryset = Cluster.objects.all()
|
||||
model_form = forms.ClusterCSVForm
|
||||
table = tables.ClusterTable
|
||||
@ -274,8 +271,7 @@ class VirtualMachineDeleteView(ObjectDeleteView):
|
||||
default_return_url = 'virtualization:virtualmachine_list'
|
||||
|
||||
|
||||
class VirtualMachineBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'virtualization.add_virtualmachine'
|
||||
class VirtualMachineBulkImportView(BulkImportView):
|
||||
queryset = VirtualMachine.objects.all()
|
||||
model_form = forms.VirtualMachineCSVForm
|
||||
table = tables.VirtualMachineTable
|
||||
|
Loading…
Reference in New Issue
Block a user