Przeglądaj źródła

Fixes #11683: Fix CSV header attribute detection when auto-detecting import format

jeremystretch 3 lat temu
rodzic
commit
56c7a238a4

+ 4 - 0
docs/release-notes/version-3.4.md

@@ -2,6 +2,10 @@
 
 ## v3.4.5 (FUTURE)
 
+### Bug Fixes
+
+* [#11683](https://github.com/netbox-community/netbox/issues/11683) - Fix CSV header attribute detection when auto-detecting import format
+
 ---
 
 ## v3.4.4 (2023-02-02)

+ 2 - 2
netbox/netbox/views/generic/bulk_views.py

@@ -384,8 +384,8 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
                 'data': record,
                 'instance': instance,
             }
-            if form.cleaned_data['format'] == ImportFormatChoices.CSV:
-                model_form_kwargs['headers'] = form._csv_headers
+            if hasattr(form, '_csv_headers'):
+                model_form_kwargs['headers'] = form._csv_headers  # Add CSV headers
             model_form = self.model_form(**model_form_kwargs)
 
             # When updating, omit all form fields other than those specified in the record. (No

+ 2 - 0
netbox/utilities/forms/forms.py

@@ -197,6 +197,8 @@ class ImportForm(BootstrapMixin, forms.Form):
             self.cleaned_data['data'] = self._clean_json(data)
         elif format == ImportFormatChoices.YAML:
             self.cleaned_data['data'] = self._clean_yaml(data)
+        else:
+            raise forms.ValidationError(f"Unknown data format: {format}")
 
     def _detect_format(self, data):
         """