src/pyams_content/features/search/portlet/__init__.py
changeset 1261 c9f9e7036daf
parent 1219 3eff0deae261
child 1352 8242968d86b1
equal deleted inserted replaced
1260:cae08a8096fa 1261:c9f9e7036daf
    18 from zope.schema.fieldproperty import FieldProperty
    18 from zope.schema.fieldproperty import FieldProperty
    19 
    19 
    20 from pyams_content import _
    20 from pyams_content import _
    21 from pyams_content.features.search import ISearchFolder
    21 from pyams_content.features.search import ISearchFolder
    22 from pyams_content.features.search.portlet.interfaces import ISearchResultsPortletSettings
    22 from pyams_content.features.search.portlet.interfaces import ISearchResultsPortletSettings
    23 from pyams_content.shared.view.interfaces import RELEVANCE_ORDER
    23 from pyams_content.shared.view.interfaces import RELEVANCE_ORDER, VISIBLE_PUBLICATION_DATE_ORDER
    24 from pyams_portal.portlet import Portlet, PortletSettings, portlet_config
    24 from pyams_portal.portlet import Portlet, PortletSettings, portlet_config
    25 from pyams_utils.factory import factory_config
    25 from pyams_utils.factory import factory_config
    26 from pyams_utils.interfaces import VIEW_PERMISSION
    26 from pyams_utils.interfaces import VIEW_PERMISSION
    27 from pyams_utils.request import check_request
    27 from pyams_utils.request import check_request
    28 from pyams_utils.traversing import get_parent
    28 from pyams_utils.traversing import get_parent
    51             raise StopIteration
    51             raise StopIteration
    52         else:
    52         else:
    53             if request is None:
    53             if request is None:
    54                 request = check_request()
    54                 request = check_request()
    55             params = request.params
    55             params = request.params
    56             sort_index = params.get('order_by', context.order_by)
    56             order_by = params.get('order_by', context.order_by)
    57             yield from context.get_results(context, sort_index,
    57             if (order_by == RELEVANCE_ORDER) and not SearchResultsPortletSettings.has_user_query(request):
    58                                            reverse=sort_index != RELEVANCE_ORDER,
    58                 request.GET['order_by'] = order_by = VISIBLE_PUBLICATION_DATE_ORDER
       
    59             yield from context.get_results(context, order_by,
       
    60                                            reverse=order_by != RELEVANCE_ORDER,
    59                                            limit=limit,
    61                                            limit=limit,
    60                                            start=int(params.get('start', 0)),
    62                                            start=int(params.get('start', 0)),
    61                                            length=int(params.get('length', 10)),
    63                                            length=int(params.get('length', 10)),
    62                                            ignore_cache=ignore_cache,
    64                                            ignore_cache=ignore_cache,
    63                                            get_count=True,
    65                                            get_count=True,