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 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'ishtar_common/admin.py') 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 -- cgit v1.2.3