src/pyams_default_theme/shared/view/portlet/__init__.py
changeset 396 fcc70be2fc80
parent 346 5ac6b44152a1
child 421 d13e43fc1d21
equal deleted inserted replaced
395:54d4b7b7c996 396:fcc70be2fc80
    16 from zope.container.contained import Contained
    16 from zope.container.contained import Contained
    17 from zope.interface import Interface
    17 from zope.interface import Interface
    18 from zope.schema.fieldproperty import FieldProperty
    18 from zope.schema.fieldproperty import FieldProperty
    19 
    19 
    20 from pyams_content.shared.view.portlet.interfaces import IViewItemsPortletSettings
    20 from pyams_content.shared.view.portlet.interfaces import IViewItemsPortletSettings
    21 from pyams_default_theme.shared.view.portlet.interfaces import IViewItemsPortletVerticalRendererSettings, \
    21 from pyams_default_theme import _
    22     IViewItemsPortletHorizontalRendererSettings
    22 from pyams_default_theme.shared.view.portlet.interfaces import IViewItemsPortletHorizontalRendererSettings, \
       
    23     IViewItemsPortletVerticalRendererSettings
    23 from pyams_portal.interfaces import IPortalContext, IPortletRenderer
    24 from pyams_portal.interfaces import IPortalContext, IPortletRenderer
    24 from pyams_portal.portlet import PortletRenderer
    25 from pyams_portal.portlet import PortletRenderer
    25 from pyams_skin.layer import IPyAMSLayer
    26 from pyams_skin.layer import IPyAMSLayer
    26 from pyams_template.template import template_config
    27 from pyams_template.template import template_config
    27 from pyams_utils.adapter import adapter_config
    28 from pyams_utils.adapter import adapter_config
    28 from pyams_utils.factory import factory_config
    29 from pyams_utils.factory import factory_config
       
    30 from pyams_utils.url import canonical_url, relative_url
    29 
    31 
    30 from pyams_default_theme import _
    32 
       
    33 class BaseViewItemsPortletRenderer(PortletRenderer):
       
    34     """Base view items portlet renderer"""
       
    35 
       
    36     def get_url(self, target):
       
    37         if self.settings.force_canonical_url:
       
    38             return canonical_url(target, self.request)
       
    39         else:
       
    40             return relative_url(target, self.request)
    31 
    41 
    32 
    42 
    33 #
    43 #
    34 # Default view portlet renderer
    44 # Default view portlet renderer
    35 #
    45 #
    47 
    57 
    48 
    58 
    49 @adapter_config(context=(IPortalContext, IPyAMSLayer, Interface, IViewItemsPortletSettings),
    59 @adapter_config(context=(IPortalContext, IPyAMSLayer, Interface, IViewItemsPortletSettings),
    50                 provides=IPortletRenderer)
    60                 provides=IPortletRenderer)
    51 @template_config(template='templates/view-items-list.pt', layer=IPyAMSLayer)
    61 @template_config(template='templates/view-items-list.pt', layer=IPyAMSLayer)
    52 class ViewItemsPortletVerticalRenderer(PortletRenderer):
    62 class ViewItemsPortletVerticalRenderer(BaseViewItemsPortletRenderer):
    53     """View items portlet vertical renderer"""
    63     """View items portlet vertical renderer"""
    54 
    64 
    55     label = _("Simple vertical view")
    65     label = _("Simple vertical view")
    56     weight = 0
    66     weight = 0
    57 
    67 
    71 
    81 
    72 @adapter_config(name='horizontal',
    82 @adapter_config(name='horizontal',
    73                 context=(IPortalContext, IPyAMSLayer, Interface, IViewItemsPortletSettings),
    83                 context=(IPortalContext, IPyAMSLayer, Interface, IViewItemsPortletSettings),
    74                 provides=IPortletRenderer)
    84                 provides=IPortletRenderer)
    75 @template_config(template='templates/view-items-horiz-list.pt', layer=IPyAMSLayer)
    85 @template_config(template='templates/view-items-horiz-list.pt', layer=IPyAMSLayer)
    76 class ViewItemsPortletHorizontalRenderer(PortletRenderer):
    86 class ViewItemsPortletHorizontalRenderer(BaseViewItemsPortletRenderer):
    77     """View items portlet horizontal renderer"""
    87     """View items portlet horizontal renderer"""
    78 
    88 
    79     label = _("Simple horizontal thumbnails view")
    89     label = _("Simple horizontal thumbnails view")
    80     weight = 1
    90     weight = 1
    81 
    91