Enforce object creation permissions

This commit is contained in:
Jeremy Stretch 2019-10-01 16:54:10 -04:00
parent 88d61db384
commit 6892b79366
3 changed files with 12 additions and 4 deletions

View File

@ -305,6 +305,7 @@ device-bays:
'format': 'yaml' 'format': 'yaml'
} }
response = self.client.post(reverse('dcim:devicetype_import'), data=form_data, follow=True) 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') dt = DeviceType.objects.get(model='TEST-1000')

View File

@ -657,7 +657,17 @@ class DeviceTypeDeleteView(PermissionRequiredMixin, ObjectDeleteView):
class DeviceTypeImportView(PermissionRequiredMixin, ObjectImportView): 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 = DeviceType
model_form = forms.DeviceTypeImportForm model_form = forms.DeviceTypeImportForm
related_object_forms = OrderedDict(( related_object_forms = OrderedDict((

View File

@ -406,9 +406,6 @@ class ObjectImportView(GetReturnURLMixin, View):
related_object_forms = dict() related_object_forms = dict()
template_name = 'utilities/obj_import.html' template_name = 'utilities/obj_import.html'
def create_object(self, data):
raise NotImplementedError("View must implement object creation logic")
def get(self, request): def get(self, request):
form = ImportForm() form = ImportForm()