From 00f18de35b31dd7b2df3e9cdcd1d5f3c7611b47a Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 24 Apr 2025 11:58:53 -0400 Subject: [PATCH] Fixes #17676: Fix support for module bay creation when bulk importing module types --- netbox/dcim/forms/object_import.py | 2 +- netbox/dcim/tests/test_views.py | 13 +++++++++++++ netbox/dcim/views.py | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/netbox/dcim/forms/object_import.py b/netbox/dcim/forms/object_import.py index 821f91402..3f2cc3ef6 100644 --- a/netbox/dcim/forms/object_import.py +++ b/netbox/dcim/forms/object_import.py @@ -159,7 +159,7 @@ class ModuleBayTemplateImportForm(forms.ModelForm): class Meta: model = ModuleBayTemplate fields = [ - 'device_type', 'name', 'label', 'position', 'description', + 'device_type', 'module_type', 'name', 'label', 'position', 'description', ] diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index b84217882..c786d1494 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -1205,6 +1205,13 @@ front-ports: - name: Front Port 3 type: 8p8c rear_port: Rear Port 3 +module-bays: + - name: Module Bay 1 + position: 1 + - name: Module Bay 2 + position: 2 + - name: Module Bay 3 + position: 3 """ # Create the manufacturer @@ -1222,6 +1229,7 @@ front-ports: 'dcim.add_interfacetemplate', 'dcim.add_frontporttemplate', 'dcim.add_rearporttemplate', + 'dcim.add_modulebaytemplate', ) form_data = { @@ -1276,6 +1284,11 @@ front-ports: self.assertEqual(fp1.rear_port, rp1) self.assertEqual(fp1.rear_port_position, 1) + self.assertEqual(module_type.modulebaytemplates.count(), 3) + mb1 = ModuleBayTemplate.objects.first() + self.assertEqual(mb1.name, 'Module Bay 1') + self.assertEqual(mb1.position, '1') + def test_export_objects(self): url = reverse('dcim:moduletype_list') self.add_permissions('dcim.view_moduletype') diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index db9024e19..36986ceac 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1508,6 +1508,7 @@ class ModuleTypeImportView(generic.BulkImportView): 'dcim.add_interfacetemplate', 'dcim.add_frontporttemplate', 'dcim.add_rearporttemplate', + 'dcim.add_modulebaytemplate', ] queryset = ModuleType.objects.all() model_form = forms.ModuleTypeImportForm @@ -1519,6 +1520,7 @@ class ModuleTypeImportView(generic.BulkImportView): 'interfaces': forms.InterfaceTemplateImportForm, 'rear-ports': forms.RearPortTemplateImportForm, 'front-ports': forms.FrontPortTemplateImportForm, + 'module-bays': forms.ModuleBayTemplateImportForm, } def prep_related_object_data(self, parent, data):