# HG changeset patch # User Thierry Florac # Date 1531224619 -7200 # Node ID 46d1f7b3d3bb65dc649aeb8af956967a77a17bb7 # Parent 5ac0fcedd89eb0d8b890a65a8963a5184f99c046 Added thumbnail refresh of media thumbnail after save diff -r 5ac0fcedd89e -r 46d1f7b3d3bb src/pyams_content/component/gallery/zmi/file.py --- a/src/pyams_content/component/gallery/zmi/file.py Tue Jul 10 13:35:28 2018 +0200 +++ b/src/pyams_content/component/gallery/zmi/file.py Tue Jul 10 14:10:19 2018 +0200 @@ -9,6 +9,10 @@ # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # +from pyramid.renderers import render +from zope.dublincore.interfaces import IZopeDublinCore + +from pyams_skin.event import get_json_refresh_event __docformat__ = 'restructuredtext' @@ -16,7 +20,7 @@ # import standard library # import interfaces -from pyams_content.component.gallery.interfaces import IGallery, IGalleryFile +from pyams_content.component.gallery.interfaces import IGallery, IGalleryFile, IGalleryParagraph from pyams_content.component.gallery.zmi.interfaces import IGalleryMediasAddFields, IGalleryContentsView from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION from pyams_file.interfaces.archive import IArchiveExtractor @@ -227,6 +231,12 @@ 'title': II18n(self.context).query_attribute('title', request=self.request) } }) + paragraph = get_parent(self.context, IGalleryParagraph) + if paragraph is not None: + output.setdefault('events', []).append( + get_json_refresh_event(object_id='media_{0}_{1}'.format(paragraph.__name__, self.context.__name__), + content=render('templates/gallery-media-thumbnail.pt', + {'media': self.context}, request=self.request))) return output diff -r 5ac0fcedd89e -r 46d1f7b3d3bb src/pyams_content/component/gallery/zmi/templates/gallery-media-thumbnail.pt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/pyams_content/component/gallery/zmi/templates/gallery-media-thumbnail.pt Tue Jul 10 14:10:19 2018 +0200 @@ -0,0 +1,13 @@ + diff -r 5ac0fcedd89e -r 46d1f7b3d3bb src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt --- a/src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt Tue Jul 10 13:35:28 2018 +0200 +++ b/src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt Tue Jul 10 14:10:19 2018 +0200 @@ -49,8 +49,9 @@ image_size thumbnail.get_image_size(); margin_left 64 - image_size[0] / 2; margin_top 64 - image_size[1] / 2; - title i18n:media.title;" - tal:attributes="src tales:absolute_url(thumbnail); + title i18n:media.title; + src tales:absolute_url(thumbnail);" + tal:attributes="src string:${src}?_=${tales:timestamp(thumbnail)}; id 'media_{0}_{1}'.format(context.__name__, media.__name__); original-title title or '--'; style string:margin-left: ${margin_left}px;; margin-right: ${margin_left}px;; margin-top: ${margin_top}px;; margin-bottom: ${margin_top}px;;" />