From dbb582640569fc56150e59d278f6b2cf87376b21 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 16 Jun 2025 12:36:36 +0200 Subject: ✨ Media exporter: admin page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/admin.py | 28 ++++++++++++++++++++++++++++ ishtar_common/models.py | 2 ++ 2 files changed, 30 insertions(+) (limited to 'ishtar_common') diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 36331e2f7..ad6223c3c 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -2454,6 +2454,34 @@ class ImportGroupAdmin(admin.ModelAdmin): autocomplete_fields = ["user"] +class MediaExporterForm(forms.ModelForm): + class Meta: + model = models.MediaExporter + exclude = [] + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.fields["associated_model"].choices = [ + ('', '-' * 9)] + [ + (model.pk, str(model)) for model in models.ImporterModel.objects.all() + if hasattr(model.get_class(), "documents") + ] + + +@admin.register(models.MediaExporter, site=admin_site) +class MediaExporterAdmin(admin.ModelAdmin): + list_display = ("name", "associated_model", "available") + actions = [ + change_value("available", True, _("Make available")), + change_value("available", False, _("Make unavailable")), + ] + list_filter = ["available"] + search_fields = ["name"] + autocomplete_fields = ["users"] + prepopulated_fields = {"slug": ("name",)} + form = MediaExporterForm + + class OperationTypeAdmin(GeneralTypeAdmin): extra_list_display = ["order", "preventive"] model = models.OperationType diff --git a/ishtar_common/models.py b/ishtar_common/models.py index aa18f6182..579c3c644 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -122,6 +122,7 @@ from ishtar_common.models_imports import ( ImporterDefaultValues, ImporterColumn, ImporterDuplicateField, + MediaExporter, Regexp, ImportTarget, TargetKey, @@ -200,6 +201,7 @@ __all__ = [ "ImporterColumn", "ImporterDuplicateField", "Imported", + "MediaExporter", "FilteredSheet", "PermissionQuery", "Regexp", -- cgit v1.2.3