Пример #1
0
    def _get_events_and_planning(self, request):
        """Get list of event and planning based on the search criteria

        :param request: object representing the HTTP request
        """
        filters, must, must_not = self._get_query(request)
        page = request.page or 1
        max_results = self._get_page_size(request)
        req = ParsedRequest()
        req.args = MultiDict()
        req.args['source'] = json.dumps({
            'query': {
                'bool': {
                    'must': must,
                    'must_not': must_not
                }
            },
            'filter':
            filters,
            'size':
            int((5 * max_results) * math.ceil(page / 3)),
            'sort':
            self._get_sort()
        })
        req.args['projections'] = json.dumps(['_id', 'type', 'event_item'])
        req.exec_on_fetched_resource = False  # don't call on_fetched_resource
        return get_resource_service('planning_search').get(req=req,
                                                           lookup=None)
    def _get_events_and_planning(self, request, query, search_filter):
        """Get list of event and planning based on the search criteria

        :param request: object representing the HTTP request
        """
        # params = request.args or MultiDict()
        # query = construct_combined_search_query(params)
        page = request.page or 1
        max_results = self._get_page_size(request, search_filter)
        req = ParsedRequest()
        req.args = MultiDict()
        req.args['source'] = json.dumps({
            'query':
            query['query'],
            'sort':
            query['sort'] if query.get('sort') else self._get_sort(),
            'size':
            int((5 * max_results) * math.ceil(page / 3)),
        })
        req.args['projections'] = json.dumps(['_id', 'type', 'event_item'])
        req.page = page
        req.max_results = max_results
        req.exec_on_fetched_resource = False  # don't call on_fetched_resource
        return get_resource_service('planning_search').get(req=req,
                                                           lookup=None)