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): |