summaryrefslogtreecommitdiff
path: root/ishtar_common/admin.py
diff options
context:
space:
mode:
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
commitdbb582640569fc56150e59d278f6b2cf87376b21 (patch)
treecf1f662647321674505d387c237068627adbb687 /ishtar_common/admin.py
parente8d66d978a10f6fd03321cd4c387721489ded27d (diff)
downloadIshtar-dbb582640569fc56150e59d278f6b2cf87376b21.tar.bz2
Ishtar-dbb582640569fc56150e59d278f6b2cf87376b21.zip
✨ Media exporter: admin page
Diffstat (limited to 'ishtar_common/admin.py')
-rw-r--r--ishtar_common/admin.py28
1 files changed, 28 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