diff --git a/src/unfold/contrib/import_export/forms.py b/src/unfold/contrib/import_export/forms.py index b6ac9101..018a982c 100644 --- a/src/unfold/contrib/import_export/forms.py +++ b/src/unfold/contrib/import_export/forms.py @@ -4,6 +4,7 @@ from import_export.forms import ( SelectableFieldsExportForm as BaseSelectableFieldsExportForm, ) + from unfold.widgets import ( SELECT_CLASSES, UnfoldAdminFileFieldWidget, @@ -15,23 +16,37 @@ class ImportForm(BaseImportForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields["resource"].widget.attrs["class"] = " ".join(SELECT_CLASSES) - self.fields["import_file"].widget = UnfoldAdminFileFieldWidget() - self.fields["format"].widget.attrs["class"] = " ".join(SELECT_CLASSES) + self.fields["resource"].widget.attrs["class"] = " ".join( + [self.fields["resource"].widget.attrs.get("class", ""), *SELECT_CLASSES] + ) + self.fields["import_file"].widget = UnfoldAdminFileFieldWidget( + attrs=self.fields["import_file"].widget.attrs + ) + self.fields["format"].widget.attrs["class"] = " ".join( + [self.fields["format"].widget.attrs.get("class", ""), *SELECT_CLASSES] + ) class ExportForm(BaseExportForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields["resource"].widget.attrs["class"] = " ".join(SELECT_CLASSES) - self.fields["format"].widget.attrs["class"] = " ".join(SELECT_CLASSES) + self.fields["resource"].widget.attrs["class"] = " ".join( + [self.fields["resource"].widget.attrs.get("class"), *SELECT_CLASSES] + ) + self.fields["format"].widget.attrs["class"] = " ".join( + [self.fields["format"].widget.attrs.get("class"), *SELECT_CLASSES] + ) class SelectableFieldsExportForm(BaseSelectableFieldsExportForm): def __init__(self, formats, resources, **kwargs): super().__init__(formats, resources, **kwargs) - self.fields["resource"].widget.attrs["class"] = " ".join(SELECT_CLASSES) - self.fields["format"].widget.attrs["class"] = " ".join(SELECT_CLASSES) + self.fields["resource"].widget.attrs["class"] = " ".join( + [self.fields["resource"].widget.attrs.get("class"), *SELECT_CLASSES] + ) + self.fields["format"].widget.attrs["class"] = " ".join( + [self.fields["format"].widget.attrs.get("class"), *SELECT_CLASSES] + ) for _key, field in self.fields.items(): if isinstance(field, BooleanField): diff --git a/src/unfold/templates/unfold/widgets/clearable_file_input_small.html b/src/unfold/templates/unfold/widgets/clearable_file_input_small.html index fa117e8e..f3bc2ca8 100644 --- a/src/unfold/templates/unfold/widgets/clearable_file_input_small.html +++ b/src/unfold/templates/unfold/widgets/clearable_file_input_small.html @@ -17,7 +17,7 @@
- +