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 @@
-
+