From 8889d00f4f702bb22416b0751b46dac28411d46d Mon Sep 17 00:00:00 2001 From: Priyanka Kakadiya Date: Thu, 3 Aug 2017 19:09:44 +0530 Subject: [PATCH] [IMP] website_sale: filter website categories based on search. task-34786 --- addons/website_sale/controllers/main.py | 11 ++++++++++- addons/website_sale/views/templates.xml | 8 ++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index cc1e2f8642a..d5092eb6cf1 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -247,9 +247,17 @@ class WebsiteSale(http.Controller): if attrib_list: post['attrib'] = attrib_list - categs = request.env['product.public.category'].search([('parent_id', '=', False)] + request.website.website_domain()) Product = request.env['product.template'] + Category = request.env['product.public.category'] + search_categories = False + if search: + categories = Product.search(domain).mapped('public_categ_ids') + search_categories = Category.search([('id', 'parent_of', categories.ids)] + request.website.website_domain()) + categs = search_categories.filtered(lambda c: not c.parent_id) + else: + categs = Category.search([('parent_id', '=', False)] + request.website.website_domain()) + parent_category_ids = [] if category: url = "/shop/category/%s" % slug(category) @@ -287,6 +295,7 @@ class WebsiteSale(http.Controller): 'compute_currency': compute_currency, 'keep': keep, 'parent_category_ids': parent_category_ids, + 'search_categories_ids': search_categories and search_categories.ids, } if category: values['main_object'] = category diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 5fae66ff3e4..0b8dad4cb8a 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -274,7 +274,9 @@ @@ -307,7 +309,9 @@