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 %}