src/pyams_portal/portlet.py
changeset 126 862e9f6a3cf8
parent 123 827f7278b9fb
child 133 7ad82c70e528
equal deleted inserted replaced
125:193f385c4039 126:862e9f6a3cf8
    21 
    21 
    22 # import interfaces
    22 # import interfaces
    23 from pyams_form.interfaces.form import IFormContextPermissionChecker
    23 from pyams_form.interfaces.form import IFormContextPermissionChecker
    24 from pyams_portal.interfaces import IPortlet, IPortletSettings, IPortletConfiguration, IPortletPreviewer, \
    24 from pyams_portal.interfaces import IPortlet, IPortletSettings, IPortletConfiguration, IPortletPreviewer, \
    25     IPortletRenderer, IPortalPortletsConfiguration, IPortalTemplate, IPortalContext, IPortalPage, \
    25     IPortletRenderer, IPortalPortletsConfiguration, IPortalTemplate, IPortalContext, IPortalPage, \
    26     IPortalTemplateConfiguration, MANAGE_TEMPLATE_PERMISSION, IPortletRendererSettings
    26     IPortalTemplateConfiguration, MANAGE_TEMPLATE_PERMISSION, IPortletRendererSettings, PORTLET_RENDERER_SETTINGS_KEY
    27 from zope.traversing.interfaces import ITraversable
    27 from zope.traversing.interfaces import ITraversable
    28 
    28 
    29 # import packages
    29 # import packages
    30 from persistent import Persistent
    30 from persistent import Persistent
    31 from persistent.mapping import PersistentMapping
    31 from persistent.mapping import PersistentMapping
   167 @implementer(IPortletRenderer)
   167 @implementer(IPortletRenderer)
   168 class PortletRenderer(PortletContentProvider):
   168 class PortletRenderer(PortletContentProvider):
   169     """Portlet renderer adapter"""
   169     """Portlet renderer adapter"""
   170 
   170 
   171     settings_interface = None
   171     settings_interface = None
   172     settings_key = None
   172 
       
   173     @property
       
   174     def settings_key(self):
       
   175         return PORTLET_RENDERER_SETTINGS_KEY.format(self.settings.renderer)
   173 
   176 
   174     target_interface = None
   177     target_interface = None
   175 
   178 
   176     weight = 0
   179     weight = 0
   177 
   180 
   179     def slot_configuration(self):
   182     def slot_configuration(self):
   180         template = IPortalPage(self.context).template
   183         template = IPortalPage(self.context).template
   181         config = IPortalTemplateConfiguration(template)
   184         config = IPortalTemplateConfiguration(template)
   182         slot_id, slot_name = config.get_portlet_slot(self.settings.configuration.portlet_id)
   185         slot_id, slot_name = config.get_portlet_slot(self.settings.configuration.portlet_id)
   183         return config.get_slot_configuration(slot_name)
   186         return config.get_slot_configuration(slot_name)
       
   187 
       
   188     @property
       
   189     def renderer_settings(self):
       
   190         return IPortletRendererSettings(self.settings)
   184 
   191 
   185 
   192 
   186 @vocabulary_config(name='PyAMS portlet renderers')
   193 @vocabulary_config(name='PyAMS portlet renderers')
   187 class PortletRenderersVocabulary(SimpleVocabulary):
   194 class PortletRenderersVocabulary(SimpleVocabulary):
   188     """Portlet renderers vocabulary"""
   195     """Portlet renderers vocabulary"""