diff options
-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", |