From 14d8503f6854c8378dcf973f142edc42ec606c1d Mon Sep 17 00:00:00 2001 From: lukas Date: Tue, 21 May 2024 07:52:26 +0200 Subject: [PATCH] feat: django-import-export 4.0 support (3.x deprecated) --- src/unfold/contrib/import_export/admin.py | 3 ++- src/unfold/contrib/import_export/forms.py | 14 +++++++------- .../templates/admin/import_export/export.html | 2 +- .../templates/admin/import_export/import_form.html | 4 ++-- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/unfold/contrib/import_export/admin.py b/src/unfold/contrib/import_export/admin.py index 94559fb3..900c2a28 100644 --- a/src/unfold/contrib/import_export/admin.py +++ b/src/unfold/contrib/import_export/admin.py @@ -1,13 +1,14 @@ from django import forms from django.utils.translation import gettext_lazy as _ from import_export.admin import ExportActionModelAdmin as BaseExportActionModelAdmin + from unfold.admin import ActionForm from unfold.widgets import SELECT_CLASSES def export_action_form_factory(formats): class _ExportActionForm(ActionForm): - file_format = forms.ChoiceField( + format = forms.ChoiceField( label=" ", choices=formats, required=False, diff --git a/src/unfold/contrib/import_export/forms.py b/src/unfold/contrib/import_export/forms.py index cb00a9cc..0348a1b7 100644 --- a/src/unfold/contrib/import_export/forms.py +++ b/src/unfold/contrib/import_export/forms.py @@ -1,16 +1,16 @@ -from import_export.forms import ExportForm as BaseExportForm -from import_export.forms import ImportForm as BaseImportForm +from import_export.forms import ImportExportFormBase as BaseImportExportFormBase + from unfold.widgets import SELECT_CLASSES, UnfoldAdminFileFieldWidget -class ImportForm(BaseImportForm): +class ImportForm(BaseImportExportFormBase): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields["import_file"].widget = UnfoldAdminFileFieldWidget() - self.fields["input_format"].widget.attrs["class"] = " ".join(SELECT_CLASSES) + self.fields["resource"].widget = UnfoldAdminFileFieldWidget() + self.fields["format"].widget.attrs["class"] = " ".join(SELECT_CLASSES) -class ExportForm(BaseExportForm): +class ExportForm(BaseImportExportFormBase): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields["file_format"].widget.attrs["class"] = " ".join(SELECT_CLASSES) + self.fields["format"].widget.attrs["class"] = " ".join(SELECT_CLASSES) diff --git a/src/unfold/contrib/import_export/templates/admin/import_export/export.html b/src/unfold/contrib/import_export/templates/admin/import_export/export.html index 522537d3..f134d9ad 100644 --- a/src/unfold/contrib/import_export/templates/admin/import_export/export.html +++ b/src/unfold/contrib/import_export/templates/admin/import_export/export.html @@ -37,7 +37,7 @@ {% csrf_token %}
- {% include "unfold/helpers/field.html" with field=form.file_format %} + {% include "unfold/helpers/field.html" with field=form.format %}