def _handle_multiproduct_parameters(self, req, global_quicksearch): if not using_multiproduct(self.env): return if self.env.parent is not None: if not global_quicksearch: req.args[RequestParameters.PRODUCT] = \ self.env.product.prefix self.requires_redirect = True
def _prepare_result_facet_counts(self, result_facets): """ Sample query_result.facets content returned by query { 'component': {None:2}, 'milestone': {None:1, 'm1':1}, } returned facet_count contains href parameters: { 'component': {None: {'count':2, href:'...'}, 'milestone': { None: {'count':1,, href:'...'}, 'm1':{'count':1, href:'...'} }, } """ facet_counts = [] if result_facets: for field in self.facets: if field == IndexFields.PRODUCT and \ not using_multiproduct(self.env): continue facets_dict = result_facets.get(field, {}) per_field_dict = dict() for field_value, count in facets_dict.iteritems(): if field == IndexFields.TYPE: href = self.parameters.create_href( skip_page=True, force_filters=[], type=field_value) elif field == IndexFields.PRODUCT: href = self.parameters.create_href( skip_page=True, product=field_value or u'', ) else: href = self.parameters.create_href( skip_page=True, additional_filter=self._create_term_expression( field, field_value) ) per_field_dict[field_value] = dict( count=count, href=href ) facet_counts.append((_(field), per_field_dict)) self.data[self.DATA_FACET_COUNTS] = facet_counts
def _prepare_result_facet_counts(self, result_facets): """ Sample query_result.facets content returned by query { 'component': {None:2}, 'milestone': {None:1, 'm1':1}, } returned facet_count contains href parameters: { 'component': {None: {'count':2, href:'...'}, 'milestone': { None: {'count':1,, href:'...'}, 'm1':{'count':1, href:'...'} }, } """ facet_counts = [] if result_facets: for field in self.facets: if field == IndexFields.PRODUCT and \ not using_multiproduct(self.env): continue facets_dict = result_facets.get(field, {}) per_field_dict = dict() for field_value, count in facets_dict.iteritems(): if field == IndexFields.TYPE: href = self.parameters.create_href(skip_page=True, force_filters=[], type=field_value) elif field == IndexFields.PRODUCT: href = self.parameters.create_href( skip_page=True, product=field_value or u'', ) else: href = self.parameters.create_href( skip_page=True, additional_filter=self._create_term_expression( field, field_value)) per_field_dict[field_value] = dict(count=count, href=href) facet_counts.append((_(field), per_field_dict)) self.data[self.DATA_FACET_COUNTS] = facet_counts
def _prepare_product_breadcrumb(self): if not using_multiproduct(self.env): return product_search = lambda x: self.parameters.create_href(product=x) all_products_search = self.parameters.create_href(skip_product=True) global_product = [(u'', _(u'Global product'), product_search(u''))] products = \ ProductModule.get_product_list(self.env, self.req, product_search) all_products = [(None, _(u'All products'), all_products_search)] search_product_list = global_product + products + all_products # pylint: disable=unused-variable for prefix, name, url in search_product_list: if prefix == self.active_product: self.data[self.DATA_ACTIVE_PRODUCT] = name break else: self.data[self.DATA_ACTIVE_PRODUCT] = self.active_product self.data[self.DATA_PRODUCT_LIST] = search_product_list