src/pyams_portal/views.py
changeset 181 561b132c6f14
parent 135 3bca72c8574d
child 215 177de8660648
equal deleted inserted replaced
180:b3a4f4e2c959 181:561b132c6f14
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
    15 
    15 
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 from pyramid.decorator import reify
    19 from pyams_portal.interfaces import IPortalContext, IPortalPage, IPortalTemplateConfiguration, \
    19 from pyramid.exceptions import NotFound
    20     IPortalPortletsConfiguration, IPortletRenderer, IPortlet, PREVIEW_MODE
       
    21 from pyams_skin.layer import IPyAMSUserLayer
       
    22 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
       
    23 from pyams_workflow.interfaces import IWorkflowPublicationInfo
       
    24 
    20 
    25 # import packages
    21 # import packages
    26 from pyams_default_theme.page import BaseIndexPage
    22 from pyams_default_theme.page import BaseIndexPage
    27 from pyams_pagelet.pagelet import pagelet_config
    23 from pyams_pagelet.pagelet import pagelet_config
       
    24 # import interfaces
       
    25 from pyams_portal.interfaces import IPortalContext, IPortalPage, IPortalTemplateConfiguration, \
       
    26     IPortalPortletsConfiguration, IPortletRenderer, IPortlet, PREVIEW_MODE, IPortletCSSClass
       
    27 from pyams_skin.layer import IPyAMSUserLayer
    28 from pyams_template.template import template_config
    28 from pyams_template.template import template_config
    29 from pyramid.decorator import reify
    29 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    30 from pyramid.exceptions import NotFound
    30 from pyams_workflow.interfaces import IWorkflowPublicationInfo
    31 
    31 
    32 
    32 
    33 class BasePortalContextIndexPage(BaseIndexPage):
    33 class BasePortalContextIndexPage(BaseIndexPage):
    34     """Base portal context index page"""
    34     """Base portal context index page"""
    35 
    35 
    65         return IPortalPortletsConfiguration(self.context)
    65         return IPortalPortletsConfiguration(self.context)
    66 
    66 
    67     def get_portlet(self, name):
    67     def get_portlet(self, name):
    68         return self.request.registry.getUtility(IPortlet, name=name)
    68         return self.request.registry.getUtility(IPortlet, name=name)
    69 
    69 
       
    70     def get_portlet_css_class(self, portlet_id):
       
    71         configuration = self.portlet_configuration.get_portlet_configuration(portlet_id)
       
    72         portlet = self.get_portlet(configuration.portlet_name)
       
    73         return self.request.registry.queryMultiAdapter((portlet, self.request), IPortletCSSClass, default='')
       
    74 
    70     def render_portlet(self, portlet_id):
    75     def render_portlet(self, portlet_id):
    71         renderer = self.portlets.get(portlet_id)
    76         renderer = self.portlets.get(portlet_id)
    72         if renderer is not None:
    77         if renderer is not None:
    73             return renderer.render()
    78             return renderer.render()
    74         else:
    79         else: