# HG changeset patch # User Thierry Florac # Date 1479201902 -3600 # Node ID 064bf303cc3309e436a96f2129123687fa9d9003 # Parent c3f7c8290792e7ee6ca32a66a3d80fc36202ea44 Handle responsive images diff -r c3f7c8290792 -r 064bf303cc33 src/pyams_portal/zmi/portlets/image.py --- a/src/pyams_portal/zmi/portlets/image.py Tue Nov 15 10:24:40 2016 +0100 +++ b/src/pyams_portal/zmi/portlets/image.py Tue Nov 15 10:25:02 2016 +0100 @@ -17,7 +17,7 @@ # import interfaces from pyams_pagelet.interfaces import IPagelet -from pyams_portal.interfaces import IPortletPreviewer +from pyams_portal.interfaces import IPortletPreviewer, IPortalPage, IPortalTemplate, IPortalTemplateConfiguration from pyams_portal.portlets.image.interfaces import IImagePortletSettings from pyams_skin.layer import IPyAMSLayer from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION @@ -45,8 +45,17 @@ """Image portlet settings editor, AJAX renderer""" -@adapter_config(context=(Interface, IPyAMSLayer, Interface, IImagePortletSettings), - provides=IPortletPreviewer) +@adapter_config(context=(Interface, IPyAMSLayer, Interface, IImagePortletSettings), provides=IPortletPreviewer) @template_config(template='templates/image-preview.pt', layer=IPyAMSLayer) class ImagePortletPreviewer(PortletPreviewer): """Image portlet previewer""" + + @property + def slot_configuration(self): + if IPortalTemplate.providedBy(self.context): + template = self.context + else: + template = IPortalPage(self.context).template + config = IPortalTemplateConfiguration(template) + slot_id, slot_name = config.get_portlet_slot(self.settings.configuration.portlet_id) + return config.get_slot_configuration(slot_name) diff -r c3f7c8290792 -r 064bf303cc33 src/pyams_portal/zmi/portlets/templates/image-preview.pt --- a/src/pyams_portal/zmi/portlets/templates/image-preview.pt Tue Nov 15 10:24:40 2016 +0100 +++ b/src/pyams_portal/zmi/portlets/templates/image-preview.pt Tue Nov 15 10:25:02 2016 +0100 @@ -1,15 +1,59 @@ - - + + + + + + + + + + + + + + + + + + +