diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-06-16 12:36:36 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-06-17 11:55:46 +0200 |
commit | dbb582640569fc56150e59d278f6b2cf87376b21 (patch) | |
tree | cf1f662647321674505d387c237068627adbb687 | |
parent | e8d66d978a10f6fd03321cd4c387721489ded27d (diff) | |
download | Ishtar-dbb582640569fc56150e59d278f6b2cf87376b21.tar.bz2 Ishtar-dbb582640569fc56150e59d278f6b2cf87376b21.zip |
✨ Media exporter: admin page
-rw-r--r-- | ishtar_common/admin.py | 28 | ||||
-rw-r--r-- | ishtar_common/models.py | 2 |
2 files changed, 30 insertions, 0 deletions
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", |