From 3cb064f0c96ce0c532443f618699da9d4fd37331 Mon Sep 17 00:00:00 2001 From: Erik Stein Date: Mon, 20 May 2019 12:01:53 +0200 Subject: [PATCH] Fixed media archive admin inlines. --- content_plugins/plugins/media_archive.py | 30 ++++++++++-------------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/content_plugins/plugins/media_archive.py b/content_plugins/plugins/media_archive.py index 11a29ae..affb141 100644 --- a/content_plugins/plugins/media_archive.py +++ b/content_plugins/plugins/media_archive.py @@ -55,21 +55,11 @@ class ImageBase(ObjectPluginBase): return '' class AdminInline(ContentInlineBase): - fields = ContentInlineBase.fields or [] if USE_ADMIN_THUMBNAIL: - fields = fields + ['admin_thumbnail'] admin_thumbnail = AdminThumbnail( image_field=image_thumbnail, template='imagekit/admin/selectable_thumbnail.html') admin_thumbnail.short_description = _("image") - fields = fields + [ - 'image', - 'get_is_public_display', - ] - readonly_fields = ContentInlineBase.fields or [] + [ - 'admin_thumbnail', - 'get_is_public_display', - ] def get_is_public_display(self, obj): if not obj.image.is_public: @@ -78,6 +68,13 @@ class ImageBase(ObjectPluginBase): return _("published") get_is_public_display.short_description = _("published") + def get_readonly_fields(self, request, obj=None): + readonly_fields = list(super().get_readonly_fields(request, obj)) + if USE_ADMIN_THUMBNAIL: + readonly_fields += ['admin_thumbnail'] + readonly_fields += ['get_is_public_display'] + return readonly_fields + admin_inline_baseclass = AdminInline @@ -96,14 +93,6 @@ class DownloadBase(ObjectPluginBase): return '' class AdminInline(ContentInlineBase): - fields = ContentInlineBase.fields or [] + [ - 'download', - 'get_is_public_display', - ] - readonly_fields = ContentInlineBase.readonly_fields or [] + [ - 'get_is_public_display', - ] - def get_is_public_display(self, obj): if not obj.download.is_public: return _("not published/visible") @@ -111,4 +100,9 @@ class DownloadBase(ObjectPluginBase): return _("published") get_is_public_display.short_description = _("published") + def get_readonly_fields(self, request, obj=None): + readonly_fields = list(super().get_readonly_fields(request, obj)) + readonly_fields += ['get_is_public_display'] + return readonly_fields + admin_inline_baseclass = AdminInline