src/pyams_portal/views.py
changeset 293 e606ea8100d5
parent 215 177de8660648
equal deleted inserted replaced
292:dacbe2096da4 293:e606ea8100d5
    11 #
    11 #
    12 
    12 
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
    15 
    15 
    16 # import standard library
       
    17 
       
    18 from pyramid.decorator import reify
    16 from pyramid.decorator import reify
    19 from pyramid.exceptions import NotFound
    17 from pyramid.exceptions import NotFound
    20 
    18 
    21 # import packages
       
    22 from pyams_default_theme.page import BaseIndexPage
    19 from pyams_default_theme.page import BaseIndexPage
    23 from pyams_pagelet.pagelet import pagelet_config
    20 from pyams_pagelet.pagelet import pagelet_config
    24 # import interfaces
    21 from pyams_portal.interfaces import IPortalContext, IPortalPage, IPortalPortletsConfiguration, \
    25 from pyams_portal.interfaces import IPortalContext, IPortalPage, IPortalTemplateConfiguration, \
    22     IPortalTemplateConfiguration, IPortlet, IPortletCSSClass, IPortletRenderer, PREVIEW_MODE
    26     IPortalPortletsConfiguration, IPortletRenderer, IPortlet, PREVIEW_MODE, IPortletCSSClass
       
    27 from pyams_skin.layer import IPyAMSUserLayer
    23 from pyams_skin.layer import IPyAMSUserLayer
    28 from pyams_template.template import template_config
    24 from pyams_template.template import template_config
    29 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    25 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    30 from pyams_workflow.interfaces import IWorkflowPublicationInfo
    26 from pyams_workflow.interfaces import IWorkflowPublicationInfo
    31 
    27 
    71         configuration = self.portlet_configuration.get_portlet_configuration(portlet_id)
    67         configuration = self.portlet_configuration.get_portlet_configuration(portlet_id)
    72         portlet = self.get_portlet(configuration.portlet_name)
    68         portlet = self.get_portlet(configuration.portlet_name)
    73         if portlet is not None:
    69         if portlet is not None:
    74             return self.request.registry.queryMultiAdapter((portlet, self.request), IPortletCSSClass, default='')
    70             return self.request.registry.queryMultiAdapter((portlet, self.request), IPortletCSSClass, default='')
    75 
    71 
    76     def render_portlet(self, portlet_id):
    72     def render_portlet(self, portlet_id, template_name=''):
    77         renderer = self.portlets.get(portlet_id)
    73         renderer = self.portlets.get(portlet_id)
    78         if renderer is not None:
    74         if renderer is not None:
    79             return renderer.render()
    75             return renderer.render(template_name)
    80         else:
    76         return ''
    81             return ''
       
    82 
    77 
    83 
    78 
    84 @pagelet_config(name='', context=IPortalContext, layer=IPyAMSUserLayer)
    79 @pagelet_config(name='', context=IPortalContext, layer=IPyAMSUserLayer)
    85 @template_config(template='templates/pagelet.pt', layer=IPyAMSUserLayer)
    80 @template_config(template='templates/pagelet.pt', layer=IPyAMSUserLayer)
    86 class PortalContextIndexPage(BasePortalContextIndexPage):
    81 class PortalContextIndexPage(BasePortalContextIndexPage):