diff options
Diffstat (limited to 'ishtar_common/admin.py')
-rw-r--r-- | ishtar_common/admin.py | 28 |
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 |