diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index 6af101e4c..03515b680 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -305,6 +305,7 @@ device-bays: 'format': 'yaml' } response = self.client.post(reverse('dcim:devicetype_import'), data=form_data, follow=True) + self.assertEqual(response.status_code, 200) dt = DeviceType.objects.get(model='TEST-1000') diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index a2e162519..7666bafd3 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -657,7 +657,17 @@ class DeviceTypeDeleteView(PermissionRequiredMixin, ObjectDeleteView): class DeviceTypeImportView(PermissionRequiredMixin, ObjectImportView): - permission_required = 'dcim.add_devicetype' + permission_required = [ + 'dcim.add_devicetype', + 'dcim.add_consoleporttemplate', + 'dcim.add_consoleserverporttemplate', + 'dcim.add_powerporttemplate', + 'dcim.add_poweroutlettemplate', + 'dcim.add_interfacetemplate', + 'dcim.add_frontporttemplate', + 'dcim.add_rearporttemplate', + 'dcim.add_devicebaytemplate', + ] model = DeviceType model_form = forms.DeviceTypeImportForm related_object_forms = OrderedDict(( diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index f53e4bebb..48c4f01e6 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -406,9 +406,6 @@ class ObjectImportView(GetReturnURLMixin, View): related_object_forms = dict() template_name = 'utilities/obj_import.html' - def create_object(self, data): - raise NotImplementedError("View must implement object creation logic") - def get(self, request): form = ImportForm()