822 bulk import of device components (#3711)
Closes #822: CSV import for device components * Implement CSV import for netbox-community#822 * Comment out default_return_url until there is a proper target * Fix the default value of `enabled` when not included in the import * rear_port is definitely required here * Power Ports don't have a type (yet) * Add import for console-ports and console-server-ports * Add import for device-bays
This commit is contained in:

committed by
Jeremy Stretch

parent
f3a41df395
commit
adb25fd7d7
@@ -1218,6 +1218,14 @@ class ConsolePortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
model = ConsolePort
|
||||
|
||||
|
||||
class ConsolePortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_consoleport'
|
||||
model_form = forms.ConsolePortCSVForm
|
||||
table = tables.ConsolePortImportTable
|
||||
# TODO: change after netbox-community#3564 has been implemented
|
||||
# default_return_url = 'dcim:consoleport_list'
|
||||
|
||||
|
||||
class ConsolePortBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
|
||||
permission_required = 'dcim.delete_consoleport'
|
||||
queryset = ConsolePort.objects.all()
|
||||
@@ -1250,6 +1258,14 @@ class ConsoleServerPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
model = ConsoleServerPort
|
||||
|
||||
|
||||
class ConsoleServerPortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_consoleserverport'
|
||||
model_form = forms.ConsoleServerPortCSVForm
|
||||
table = tables.ConsoleServerPortImportTable
|
||||
# TODO: change after netbox-community#3564 has been implemented
|
||||
# default_return_url = 'dcim:consoleserverport_list'
|
||||
|
||||
|
||||
class ConsoleServerPortBulkEditView(PermissionRequiredMixin, BulkEditView):
|
||||
permission_required = 'dcim.change_consoleserverport'
|
||||
queryset = ConsoleServerPort.objects.all()
|
||||
@@ -1302,6 +1318,14 @@ class PowerPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
model = PowerPort
|
||||
|
||||
|
||||
class PowerPortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_powerport'
|
||||
model_form = forms.PowerPortCSVForm
|
||||
table = tables.PowerPortImportTable
|
||||
# TODO: change after netbox-community#3564 has been implemented
|
||||
# default_return_url = 'dcim:powerport_list'
|
||||
|
||||
|
||||
class PowerPortBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
|
||||
permission_required = 'dcim.delete_powerport'
|
||||
queryset = PowerPort.objects.all()
|
||||
@@ -1334,6 +1358,14 @@ class PowerOutletDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
model = PowerOutlet
|
||||
|
||||
|
||||
class PowerOutletBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_poweroutlet'
|
||||
model_form = forms.PowerOutletCSVForm
|
||||
table = tables.PowerOutletImportTable
|
||||
# TODO: change after netbox-community#3564 has been implemented
|
||||
# default_return_url = 'dcim:poweroutlet_list'
|
||||
|
||||
|
||||
class PowerOutletBulkEditView(PermissionRequiredMixin, BulkEditView):
|
||||
permission_required = 'dcim.change_poweroutlet'
|
||||
queryset = PowerOutlet.objects.all()
|
||||
@@ -1423,6 +1455,14 @@ class InterfaceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
model = Interface
|
||||
|
||||
|
||||
class InterfaceBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_interface'
|
||||
model_form = forms.InterfaceCSVForm
|
||||
table = tables.InterfaceImportTable
|
||||
# TODO: change after netbox-community#3564 has been implemented
|
||||
# default_return_url = 'dcim:interface_list'
|
||||
|
||||
|
||||
class InterfaceBulkEditView(PermissionRequiredMixin, BulkEditView):
|
||||
permission_required = 'dcim.change_interface'
|
||||
queryset = Interface.objects.all()
|
||||
@@ -1475,6 +1515,14 @@ class FrontPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
model = FrontPort
|
||||
|
||||
|
||||
class FrontPortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_frontport'
|
||||
model_form = forms.FrontPortCSVForm
|
||||
table = tables.FrontPortImportTable
|
||||
# TODO: change after netbox-community#3564 has been implemented
|
||||
# default_return_url = 'dcim:frontport_list'
|
||||
|
||||
|
||||
class FrontPortBulkEditView(PermissionRequiredMixin, BulkEditView):
|
||||
permission_required = 'dcim.change_frontport'
|
||||
queryset = FrontPort.objects.all()
|
||||
@@ -1527,6 +1575,14 @@ class RearPortDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
model = RearPort
|
||||
|
||||
|
||||
class RearPortBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_rearport'
|
||||
model_form = forms.RearPortCSVForm
|
||||
table = tables.RearPortImportTable
|
||||
# TODO: change after netbox-community#3564 has been implemented
|
||||
# default_return_url = 'dcim:rearport_list'
|
||||
|
||||
|
||||
class RearPortBulkEditView(PermissionRequiredMixin, BulkEditView):
|
||||
permission_required = 'dcim.change_rearport'
|
||||
queryset = RearPort.objects.all()
|
||||
@@ -1648,6 +1704,14 @@ class DeviceBayDepopulateView(PermissionRequiredMixin, View):
|
||||
})
|
||||
|
||||
|
||||
class DeviceBayBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
permission_required = 'dcim.add_devicebay'
|
||||
model_form = forms.DeviceBayCSVForm
|
||||
table = tables.DeviceBayImportTable
|
||||
# TODO: change after netbox-community#3564 has been implemented
|
||||
# default_return_url = 'dcim:devicebay_list'
|
||||
|
||||
|
||||
class DeviceBayBulkRenameView(PermissionRequiredMixin, BulkRenameView):
|
||||
permission_required = 'dcim.change_devicebay'
|
||||
queryset = DeviceBay.objects.all()
|
||||
|
Reference in New Issue
Block a user