equal
deleted
inserted
replaced
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, |