From 046189fb537310f2ee5ff827b3fc5f4ab07fb5fb Mon Sep 17 00:00:00 2001 From: Tom De Caluw Date: Wed, 1 Sep 2021 14:41:17 +0000 Subject: [PATCH] [IMP] website_sale: allow hide attributes in filter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit task-2466988 closes odoo/odoo#75898 Signed-off-by: Jérémy Kersten (jke) --- addons/website_sale/__manifest__.py | 1 + addons/website_sale/controllers/main.py | 5 +++- addons/website_sale/data/data.xml | 5 ++++ addons/website_sale/data/demo.xml | 4 ++++ .../website_sale/models/product_attribute.py | 8 ++++++- addons/website_sale/tests/test_customize.py | 1 + .../views/product_attribute_views.xml | 23 +++++++++++++++++++ .../data/website_sale_comparison_demo.xml | 7 +++--- 8 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 addons/website_sale/views/product_attribute_views.xml diff --git a/addons/website_sale/__manifest__.py b/addons/website_sale/__manifest__.py index 756d1963e02..7553589e16e 100644 --- a/addons/website_sale/__manifest__.py +++ b/addons/website_sale/__manifest__.py @@ -17,6 +17,7 @@ 'data/mail_template_data.xml', 'data/product_snippet_template_data.xml', 'data/digest_data.xml', + 'views/product_attribute_views.xml', 'views/product_views.xml', 'views/account_views.xml', 'views/onboarding_views.xml', diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 4a3331bbf3d..8258bb80fc1 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -343,7 +343,10 @@ class WebsiteSale(http.Controller): ProductAttribute = request.env['product.attribute'] if products: # get all products without limit - attributes = ProductAttribute.search([('product_tmpl_ids', 'in', search_product.ids)]) + attributes = ProductAttribute.search([ + ('product_tmpl_ids', 'in', search_product.ids), + ('visibility', '=', 'visible'), + ]) else: attributes = ProductAttribute.browse(attributes_ids) diff --git a/addons/website_sale/data/data.xml b/addons/website_sale/data/data.xml index f491f9252ac..7aa8d1e412b 100644 --- a/addons/website_sale/data/data.xml +++ b/addons/website_sale/data/data.xml @@ -18,6 +18,11 @@ open + + Brand + 0 + + Sale bg-success o_ribbon_left diff --git a/addons/website_sale/data/demo.xml b/addons/website_sale/data/demo.xml index 286160e99a0..7e297a3f89a 100644 --- a/addons/website_sale/data/demo.xml +++ b/addons/website_sale/data/demo.xml @@ -5,6 +5,10 @@ + + hidden + + diff --git a/addons/website_sale/models/product_attribute.py b/addons/website_sale/models/product_attribute.py index 67bbe3a832c..805d5cfa9c3 100644 --- a/addons/website_sale/models/product_attribute.py +++ b/addons/website_sale/models/product_attribute.py @@ -3,7 +3,13 @@ from collections import OrderedDict -from odoo import models +from odoo import models, fields + + +class ProductAttribute(models.Model): + _inherit = 'product.attribute' + + visibility = fields.Selection([('visible', 'Visible'), ('hidden', 'Hidden')], default='visible') class ProductTemplateAttributeLine(models.Model): diff --git a/addons/website_sale/tests/test_customize.py b/addons/website_sale/tests/test_customize.py index 285a70d66bc..f15086100c1 100644 --- a/addons/website_sale/tests/test_customize.py +++ b/addons/website_sale/tests/test_customize.py @@ -23,6 +23,7 @@ class TestUi(HttpCaseWithUserDemo, HttpCaseWithUserPortal): product_attribute = self.env['product.attribute'].create({ 'name': 'Legs', + 'visibility': 'visible', 'sequence': 10, }) product_attribute_value_1 = self.env['product.attribute.value'].create({ diff --git a/addons/website_sale/views/product_attribute_views.xml b/addons/website_sale/views/product_attribute_views.xml new file mode 100644 index 00000000000..f4b70231196 --- /dev/null +++ b/addons/website_sale/views/product_attribute_views.xml @@ -0,0 +1,23 @@ + + + + product.attribute.view.form + product.attribute + + + + + + + + + product.attribute.tree + product.attribute + + + + + + + + diff --git a/addons/website_sale_comparison/data/website_sale_comparison_demo.xml b/addons/website_sale_comparison/data/website_sale_comparison_demo.xml index 1008bbc1bfc..f22e71d62f2 100644 --- a/addons/website_sale_comparison/data/website_sale_comparison_demo.xml +++ b/addons/website_sale_comparison/data/website_sale_comparison_demo.xml @@ -22,13 +22,12 @@ - - Brand + Apple - + @@ -51,7 +50,7 @@ - +