src/pyams_default_theme/features/search/portlet/__init__.py
changeset 297 2d9623dc5c56
parent 290 c528e2eb7172
child 299 66ef165934a9
equal deleted inserted replaced
296:a070719aef84 297:2d9623dc5c56
    17 from zope.interface import Interface, implementer
    17 from zope.interface import Interface, implementer
    18 from zope.location import ILocation
    18 from zope.location import ILocation
    19 from zope.schema.fieldproperty import FieldProperty
    19 from zope.schema.fieldproperty import FieldProperty
    20 
    20 
    21 from pyams_content.features.search.portlet import ISearchResultsPortletSettings
    21 from pyams_content.features.search.portlet import ISearchResultsPortletSettings
       
    22 from pyams_default_theme import _
    22 from pyams_default_theme.features.search.portlet.interfaces import ISearchResultsPortletDefaultRendererSettings
    23 from pyams_default_theme.features.search.portlet.interfaces import ISearchResultsPortletDefaultRendererSettings
    23 from pyams_default_theme.interfaces import ISearchResultsView
    24 from pyams_default_theme.interfaces import ISearchResultsView
    24 from pyams_portal.interfaces import IPortalContext, IPortletRenderer
    25 from pyams_portal.interfaces import IPortalContext, IPortletRenderer
    25 from pyams_portal.portlet import PortletRenderer
    26 from pyams_portal.portlet import PortletRenderer
    26 from pyams_skin.interfaces.viewlet import IBreadcrumbs
    27 from pyams_skin.interfaces.viewlet import IBreadcrumbs
    27 from pyams_skin.layer import IPyAMSLayer, IPyAMSUserLayer
    28 from pyams_skin.layer import IPyAMSLayer, IPyAMSUserLayer
    28 from pyams_template.template import template_config
    29 from pyams_template.template import template_config
    29 from pyams_utils.adapter import adapter_config, NullAdapter
    30 from pyams_utils.adapter import NullAdapter, adapter_config
    30 from pyams_utils.factory import factory_config
    31 from pyams_utils.factory import factory_config
    31 
    32 from pyams_utils.url import canonical_url, relative_url
    32 from pyams_default_theme import _
       
    33 
    33 
    34 
    34 
    35 @factory_config(provided=ISearchResultsPortletDefaultRendererSettings)
    35 @factory_config(provided=ISearchResultsPortletDefaultRendererSettings)
    36 class SearchResultsPortletDefaultRendererSettings(Persistent, Contained):
    36 class SearchResultsPortletDefaultRendererSettings(Persistent, Contained):
    37     """Search results portlet default renderer settings"""
    37     """Search results portlet default renderer settings"""
    56         settings = self.renderer_settings
    56         settings = self.renderer_settings
    57         if not settings.allow_pagination:
    57         if not settings.allow_pagination:
    58             self.request.GET['length'] = '999'
    58             self.request.GET['length'] = '999'
    59         super(SearchResultsPortletDefaultRenderer, self).update()
    59         super(SearchResultsPortletDefaultRenderer, self).update()
    60 
    60 
       
    61     def get_url(self, target):
       
    62         if self.settings.force_canonical_url:
       
    63             return canonical_url(target, self.request)
       
    64         else:
       
    65             return relative_url(target, self.request)
       
    66 
    61 
    67 
    62 @adapter_config(context=(ILocation, IPyAMSUserLayer, ISearchResultsView), provides=IBreadcrumbs)
    68 @adapter_config(context=(ILocation, IPyAMSUserLayer, ISearchResultsView), provides=IBreadcrumbs)
    63 class BreadcrumbsAdapter(NullAdapter):
    69 class BreadcrumbsAdapter(NullAdapter):
    64     """Disable breadcrumbs in search results view"""
    70     """Disable breadcrumbs in search results view"""