From 0c96e7178e8a288f503a4907cb49e4a53a17cf2d Mon Sep 17 00:00:00 2001
From: Carlos Roca
Date: Tue, 2 Jun 2020 09:34:30 +0200
Subject: [PATCH 01/14] [IMP] : black, isort, prettier
---
.../README.rst | 82 ++++
.../__init__.py | 2 +
.../__manifest__.py | 16 +
.../controllers/__init__.py | 2 +
.../controllers/main.py | 33 ++
.../data/demo.xml | 53 +++
.../i18n/es.po | 30 ++
...roduct_attribute_value_filter_existing.pot | 14 +
.../readme/CONTRIBUTORS.rst | 2 +
.../readme/DESCRIPTION.rst | 2 +
.../readme/USAGE.rst | 3 +
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../static/description/index.html | 430 ++++++++++++++++++
...ct_attribute_value_filter_existing_tour.js | 48 ++
.../tests/__init__.py | 2 +
...product_attribute_value_filter_existing.py | 87 ++++
.../views/assets.xml | 13 +
.../views/templates.xml | 25 +
18 files changed, 844 insertions(+)
create mode 100644 website_sale_product_attribute_value_filter_existing/README.rst
create mode 100644 website_sale_product_attribute_value_filter_existing/__init__.py
create mode 100644 website_sale_product_attribute_value_filter_existing/__manifest__.py
create mode 100644 website_sale_product_attribute_value_filter_existing/controllers/__init__.py
create mode 100644 website_sale_product_attribute_value_filter_existing/controllers/main.py
create mode 100644 website_sale_product_attribute_value_filter_existing/data/demo.xml
create mode 100644 website_sale_product_attribute_value_filter_existing/i18n/es.po
create mode 100644 website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
create mode 100644 website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst
create mode 100644 website_sale_product_attribute_value_filter_existing/readme/DESCRIPTION.rst
create mode 100644 website_sale_product_attribute_value_filter_existing/readme/USAGE.rst
create mode 100644 website_sale_product_attribute_value_filter_existing/static/description/icon.png
create mode 100644 website_sale_product_attribute_value_filter_existing/static/description/index.html
create mode 100644 website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
create mode 100644 website_sale_product_attribute_value_filter_existing/tests/__init__.py
create mode 100644 website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py
create mode 100644 website_sale_product_attribute_value_filter_existing/views/assets.xml
create mode 100644 website_sale_product_attribute_value_filter_existing/views/templates.xml
diff --git a/website_sale_product_attribute_value_filter_existing/README.rst b/website_sale_product_attribute_value_filter_existing/README.rst
new file mode 100644
index 0000000000..1db1653a51
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/README.rst
@@ -0,0 +1,82 @@
+=====================================
+Website Sale Attribute Value Existing
+=====================================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
+ :alt: License: LGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fe--commerce-lightgray.png?logo=github
+ :target: https://github.com/OCA/e-commerce/tree/12.0/website_sale_product_attribute_value_filter_existing
+ :alt: OCA/e-commerce
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/e-commerce-12-0/e-commerce-12-0-website_sale_product_attribute_value_filter_existing
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/113/12.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module extends the functionality of website sale module to allow hide
+product attributes values which exist but not used on any variants.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Usage
+=====
+
+* Go to Website Shop
+* Active product attributes filter
+* System only display the attribute values if used.
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues `_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+`feedback `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Tecnativa
+
+Contributors
+~~~~~~~~~~~~
+
+* Victor M.M. Torres
+* Sergio Teruel
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+This module is part of the `OCA/e-commerce `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/website_sale_product_attribute_value_filter_existing/__init__.py b/website_sale_product_attribute_value_filter_existing/__init__.py
new file mode 100644
index 0000000000..4d53772e85
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/__init__.py
@@ -0,0 +1,2 @@
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+from . import controllers
diff --git a/website_sale_product_attribute_value_filter_existing/__manifest__.py b/website_sale_product_attribute_value_filter_existing/__manifest__.py
new file mode 100644
index 0000000000..50d67f7842
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/__manifest__.py
@@ -0,0 +1,16 @@
+# Copyright 2019 Tecnativa - Victor M.M. Torres
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+{
+ "name": "Website Sale Attribute Value Existing",
+ "summary": "Allow hide attributes values not used in variants",
+ "version": "12.0.1.0.0",
+ "development_status": "Beta",
+ "category": "Website",
+ "website": "https://github.com/OCA/e-commerce",
+ "author": "Tecnativa, Odoo Community Association (OCA)",
+ "license": "LGPL-3",
+ "application": False,
+ "installable": True,
+ "depends": ["website_sale"],
+ "data": ["views/assets.xml", "views/templates.xml"],
+}
diff --git a/website_sale_product_attribute_value_filter_existing/controllers/__init__.py b/website_sale_product_attribute_value_filter_existing/controllers/__init__.py
new file mode 100644
index 0000000000..edc60fa860
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/controllers/__init__.py
@@ -0,0 +1,2 @@
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+from . import main
diff --git a/website_sale_product_attribute_value_filter_existing/controllers/main.py b/website_sale_product_attribute_value_filter_existing/controllers/main.py
new file mode 100644
index 0000000000..56d97a97ce
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/controllers/main.py
@@ -0,0 +1,33 @@
+# Copyright 2019 Tecnativa - Sergio Teruel
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+from odoo import http
+from odoo.http import request
+
+from odoo.addons.website_sale.controllers.main import WebsiteSale
+
+
+class ProductAttributeValues(WebsiteSale):
+ def _get_search_domain(self, search, category, attrib_values):
+ # Store used domain in context to be reused after
+ domain = super(ProductAttributeValues, self)._get_search_domain(
+ search, category, attrib_values
+ )
+ new_context = dict(request.env.context, shop_search_domain=domain)
+ request.context = new_context
+ return domain
+
+ @http.route()
+ def shop(self, page=0, category=None, search="", ppg=False, **post):
+ res = super(ProductAttributeValues, self).shop(
+ page=page, category=category, search=search, ppg=ppg, **post
+ )
+ domain = request.env.context.get("shop_search_domain", [])
+ # Load all products without limit for the filter check on
+ # attribute values
+ templates = request.env["product.template"].search(domain, limit=False)
+ ProductTemplateAttributeLine = request.env["product.template.attribute.line"]
+ attribute_values = ProductTemplateAttributeLine.search(
+ [("product_tmpl_id", "in", templates.ids)]
+ )
+ res.qcontext["attr_values_used"] = attribute_values.mapped("value_ids")
+ return res
diff --git a/website_sale_product_attribute_value_filter_existing/data/demo.xml b/website_sale_product_attribute_value_filter_existing/data/demo.xml
new file mode 100644
index 0000000000..d0fb64168f
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/data/demo.xml
@@ -0,0 +1,53 @@
+
+
+
+
+ Test Special Color
+
+
+ Test red
+
+
+
+ Test green
+
+
+
+ Test blue
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/es.po b/website_sale_product_attribute_value_filter_existing/i18n/es.po
new file mode 100644
index 0000000000..299189ca41
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/i18n/es.po
@@ -0,0 +1,30 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * website_sale_product_attribute_value_filter_existing
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-05-15 08:17+0000\n"
+"PO-Revision-Date: 2019-05-15 10:19+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.0.6\n"
+
+#~ msgid "Test Special Color"
+#~ msgstr "Color especial de prueba"
+
+#~ msgid "Test blue"
+#~ msgstr "azul"
+
+#~ msgid "Test green"
+#~ msgstr "verde"
+
+#~ msgid "Test red"
+#~ msgstr "rojo"
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot b/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
new file mode 100644
index 0000000000..d2e396f159
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
@@ -0,0 +1,14 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 12.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
diff --git a/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst b/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst
new file mode 100644
index 0000000000..bf20662f88
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst
@@ -0,0 +1,2 @@
+* Victor M.M. Torres
+* Sergio Teruel
diff --git a/website_sale_product_attribute_value_filter_existing/readme/DESCRIPTION.rst b/website_sale_product_attribute_value_filter_existing/readme/DESCRIPTION.rst
new file mode 100644
index 0000000000..21a2d80b14
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/readme/DESCRIPTION.rst
@@ -0,0 +1,2 @@
+This module extends the functionality of website sale module to allow hide
+product attributes values which exist but not used on any variants.
diff --git a/website_sale_product_attribute_value_filter_existing/readme/USAGE.rst b/website_sale_product_attribute_value_filter_existing/readme/USAGE.rst
new file mode 100644
index 0000000000..599a0dda08
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/readme/USAGE.rst
@@ -0,0 +1,3 @@
+* Go to Website Shop
+* Active product attributes filter
+* System only display the attribute values if used.
diff --git a/website_sale_product_attribute_value_filter_existing/static/description/icon.png b/website_sale_product_attribute_value_filter_existing/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
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
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
diff --git a/website_sale_product_attribute_value_filter_existing/static/description/index.html b/website_sale_product_attribute_value_filter_existing/static/description/index.html
new file mode 100644
index 0000000000..4da2289523
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/static/description/index.html
@@ -0,0 +1,430 @@
+
+
+
+
+
+
+Website Sale Attribute Value Existing
+
+
+
+
+
Website Sale Attribute Value Existing
+
+
+
+
This module extends the functionality of website sale module to allow hide
+product attributes values which exist but not used on any variants.
+
Table of contents
+
+
+
+
+- Go to Website Shop
+- Active product attributes filter
+- System only display the attribute values if used.
+
+
+
+
+
Bugs are tracked on GitHub Issues.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
+
+
+
+
+
+
+
+
This module is maintained by the OCA.
+
+
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
This module is part of the OCA/e-commerce project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
new file mode 100644
index 0000000000..e370ea8670
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
@@ -0,0 +1,48 @@
+/* Copyright 2019 Sergio Teruel
+ * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
+
+odoo.define("website_sale_product_attribute_value_filter_existing.tour", function(
+ require
+) {
+ "use strict";
+
+ var tour = require("web_tour.tour");
+ var base = require("web_editor.base");
+
+ var steps = [
+ {
+ trigger: "a:contains('Customize')",
+ },
+ {
+ trigger: "a:contains('Product Attribute')",
+ },
+ {
+ trigger: "a[href='/shop']",
+ },
+ {
+ trigger: "input[name=search]",
+ run: "text Ipod",
+ extra_trigger: ".js_attributes:has(span:contains('Test blue'))",
+ },
+ {
+ trigger: ".oe_search_button",
+ extra_trigger: ".js_attributes:has(span:contains('Test blue'))",
+ },
+ {
+ trigger: "a[href='/shop']",
+ extra_trigger: "li:not(:has(span:contains('Test blue')))",
+ },
+ ];
+ tour.register(
+ "website_sale_product_attribute_value_filter_existing",
+ {
+ url: "/shop",
+ test: true,
+ wait_for: base.ready(),
+ },
+ steps
+ );
+ return {
+ steps: steps,
+ };
+});
diff --git a/website_sale_product_attribute_value_filter_existing/tests/__init__.py b/website_sale_product_attribute_value_filter_existing/tests/__init__.py
new file mode 100644
index 0000000000..7c9f488772
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/tests/__init__.py
@@ -0,0 +1,2 @@
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+from . import test_website_sale_product_attribute_value_filter_existing
diff --git a/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py b/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py
new file mode 100644
index 0000000000..394b74ff38
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py
@@ -0,0 +1,87 @@
+# Copyright 2019 Tecnativa - Sergio Teruel
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+from odoo.tests.common import HttpCase
+
+
+class WebsiteSaleHttpCase(HttpCase):
+ def setUp(self):
+ super().setUp()
+ # Models
+ ProductAttribute = self.env["product.attribute"]
+ ProductAttributeValue = self.env["product.attribute.value"]
+ ProductAttributeLine = self.env["product.template.attribute.line"]
+ self.product_attribute = ProductAttribute.create(
+ {
+ "name": "Test Special Color",
+ "website_published": True,
+ "create_variant": "no_variant",
+ }
+ )
+ self.product_attribute_value_red = ProductAttributeValue.create(
+ {"name": "Test red", "attribute_id": self.product_attribute.id}
+ )
+ self.product_attribute_value_green = ProductAttributeValue.create(
+ {"name": "Test green", "attribute_id": self.product_attribute.id}
+ )
+ self.product_attribute_value_blue = ProductAttributeValue.create(
+ {"name": "Test blue", "attribute_id": self.product_attribute.id}
+ )
+ self.product_template = self.env.ref(
+ "product.product_product_4_product_template"
+ )
+ self.product_attribute_line = ProductAttributeLine.create(
+ {
+ "product_tmpl_id": self.product_template.id,
+ "attribute_id": self.product_attribute.id,
+ "value_ids": [
+ (
+ 6,
+ 0,
+ [
+ self.product_attribute_value_red.id,
+ self.product_attribute_value_green.id,
+ ],
+ )
+ ],
+ }
+ )
+ self.product_template.write(
+ {"attribute_line_ids": [(4, self.product_attribute_line.id)]}
+ )
+ self.product_template_27 = self.env.ref(
+ "product.product_product_27_product_template"
+ )
+ self.product_attribute_line_27 = ProductAttributeLine.create(
+ {
+ "product_tmpl_id": self.product_template_27.id,
+ "attribute_id": self.product_attribute.id,
+ "value_ids": [
+ (
+ 6,
+ 0,
+ [
+ self.product_attribute_value_red.id,
+ self.product_attribute_value_blue.id,
+ ],
+ )
+ ],
+ }
+ )
+ self.product_template_27.write(
+ {"attribute_line_ids": [(4, self.product_attribute_line_27.id)]}
+ )
+ # Active attribute's filter in /shop. By default it's disabled.
+ self.env.ref("website_sale.products_attributes").active = True
+
+ def test_ui_website(self):
+ """Test frontend tour."""
+ tour = (
+ "odoo.__DEBUG__.services['web_tour.tour']",
+ "website_sale_product_attribute_value_filter_existing",
+ )
+ self.phantom_js(
+ url_path="/",
+ code="%s.run('%s')" % tour,
+ ready="%s.tours['%s'].ready" % tour,
+ login="admin",
+ )
diff --git a/website_sale_product_attribute_value_filter_existing/views/assets.xml b/website_sale_product_attribute_value_filter_existing/views/assets.xml
new file mode 100644
index 0000000000..d273ad8729
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/views/assets.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/website_sale_product_attribute_value_filter_existing/views/templates.xml b/website_sale_product_attribute_value_filter_existing/views/templates.xml
new file mode 100644
index 0000000000..59dae6add5
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/views/templates.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ attr_values_used & v
+
+
+ attr_values_used & v
+
+
+ attr_values_used & v
+
+
+
From 2c6519f8ccfff820375becdec2a74c8bb8b2dac0 Mon Sep 17 00:00:00 2001
From: Carlos Roca
Date: Tue, 2 Jun 2020 10:21:48 +0200
Subject: [PATCH 02/14] [MIG]
website_sale_product_attribute_value_filter_existing: Migration to v13
---
.../README.rst | 30 +++++------
.../__manifest__.py | 4 +-
.../controllers/main.py | 12 ++---
.../data/demo.xml | 53 -------------------
.../i18n/es.po | 30 -----------
...roduct_attribute_value_filter_existing.pot | 5 +-
.../readme/CONTRIBUTORS.rst | 7 ++-
.../static/description/index.html | 14 +++--
...product_attribute_value_filter_existing.py | 8 +--
.../views/templates.xml | 6 +--
10 files changed, 44 insertions(+), 125 deletions(-)
delete mode 100644 website_sale_product_attribute_value_filter_existing/data/demo.xml
delete mode 100644 website_sale_product_attribute_value_filter_existing/i18n/es.po
diff --git a/website_sale_product_attribute_value_filter_existing/README.rst b/website_sale_product_attribute_value_filter_existing/README.rst
index 1db1653a51..2c06f233da 100644
--- a/website_sale_product_attribute_value_filter_existing/README.rst
+++ b/website_sale_product_attribute_value_filter_existing/README.rst
@@ -7,23 +7,20 @@ Website Sale Attribute Value Existing
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
- :target: https://odoo-community.org/page/development-status
- :alt: Beta
-.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
+.. |badge1| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
-.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fe--commerce-lightgray.png?logo=github
- :target: https://github.com/OCA/e-commerce/tree/12.0/website_sale_product_attribute_value_filter_existing
+.. |badge2| image:: https://img.shields.io/badge/github-OCA%2Fe--commerce-lightgray.png?logo=github
+ :target: https://github.com/OCA/e-commerce/tree/13.0/website_sale_product_attribute_value_filter_existing
:alt: OCA/e-commerce
-.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/e-commerce-12-0/e-commerce-12-0-website_sale_product_attribute_value_filter_existing
+.. |badge3| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/e-commerce-13-0/e-commerce-13-0-website_sale_product_attribute_value_filter_existing
:alt: Translate me on Weblate
-.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/113/12.0
+.. |badge4| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/113/13.0
:alt: Try me on Runbot
-|badge1| |badge2| |badge3| |badge4| |badge5|
+|badge1| |badge2| |badge3| |badge4|
This module extends the functionality of website sale module to allow hide
product attributes values which exist but not used on any variants.
@@ -46,7 +43,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -61,8 +58,11 @@ Authors
Contributors
~~~~~~~~~~~~
-* Victor M.M. Torres
-* Sergio Teruel
+* `Tecnativa `_:
+
+ * Victor M.M. Torres
+ * Sergio Teruel
+ * Carlos Roca
Maintainers
~~~~~~~~~~~
@@ -77,6 +77,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/e-commerce `_ project on GitHub.
+This module is part of the `OCA/e-commerce `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/website_sale_product_attribute_value_filter_existing/__manifest__.py b/website_sale_product_attribute_value_filter_existing/__manifest__.py
index 50d67f7842..28f08906c2 100644
--- a/website_sale_product_attribute_value_filter_existing/__manifest__.py
+++ b/website_sale_product_attribute_value_filter_existing/__manifest__.py
@@ -3,8 +3,8 @@
{
"name": "Website Sale Attribute Value Existing",
"summary": "Allow hide attributes values not used in variants",
- "version": "12.0.1.0.0",
- "development_status": "Beta",
+ "version": "13.0.1.0.0",
+ "development_status": "Stable",
"category": "Website",
"website": "https://github.com/OCA/e-commerce",
"author": "Tecnativa, Odoo Community Association (OCA)",
diff --git a/website_sale_product_attribute_value_filter_existing/controllers/main.py b/website_sale_product_attribute_value_filter_existing/controllers/main.py
index 56d97a97ce..3317b9c6c6 100644
--- a/website_sale_product_attribute_value_filter_existing/controllers/main.py
+++ b/website_sale_product_attribute_value_filter_existing/controllers/main.py
@@ -7,10 +7,12 @@
class ProductAttributeValues(WebsiteSale):
- def _get_search_domain(self, search, category, attrib_values):
+ def _get_search_domain(
+ self, search, category, attrib_values, search_in_description=True
+ ):
# Store used domain in context to be reused after
- domain = super(ProductAttributeValues, self)._get_search_domain(
- search, category, attrib_values
+ domain = super()._get_search_domain(
+ search, category, attrib_values, search_in_description=search_in_description
)
new_context = dict(request.env.context, shop_search_domain=domain)
request.context = new_context
@@ -18,9 +20,7 @@ def _get_search_domain(self, search, category, attrib_values):
@http.route()
def shop(self, page=0, category=None, search="", ppg=False, **post):
- res = super(ProductAttributeValues, self).shop(
- page=page, category=category, search=search, ppg=ppg, **post
- )
+ res = super().shop(page=page, category=category, search=search, ppg=ppg, **post)
domain = request.env.context.get("shop_search_domain", [])
# Load all products without limit for the filter check on
# attribute values
diff --git a/website_sale_product_attribute_value_filter_existing/data/demo.xml b/website_sale_product_attribute_value_filter_existing/data/demo.xml
deleted file mode 100644
index d0fb64168f..0000000000
--- a/website_sale_product_attribute_value_filter_existing/data/demo.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
- Test Special Color
-
-
- Test red
-
-
-
- Test green
-
-
-
- Test blue
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/es.po b/website_sale_product_attribute_value_filter_existing/i18n/es.po
deleted file mode 100644
index 299189ca41..0000000000
--- a/website_sale_product_attribute_value_filter_existing/i18n/es.po
+++ /dev/null
@@ -1,30 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * website_sale_product_attribute_value_filter_existing
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server 11.0\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-05-15 08:17+0000\n"
-"PO-Revision-Date: 2019-05-15 10:19+0200\n"
-"Last-Translator: \n"
-"Language-Team: \n"
-"Language: es\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.0.6\n"
-
-#~ msgid "Test Special Color"
-#~ msgstr "Color especial de prueba"
-
-#~ msgid "Test blue"
-#~ msgstr "azul"
-
-#~ msgid "Test green"
-#~ msgstr "verde"
-
-#~ msgid "Test red"
-#~ msgstr "rojo"
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot b/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
index d2e396f159..cc93d01ee5 100644
--- a/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
+++ b/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
@@ -3,12 +3,11 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: <>\n"
+"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
-
diff --git a/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst b/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst
index bf20662f88..7bbc1ee8e7 100644
--- a/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst
+++ b/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst
@@ -1,2 +1,5 @@
-* Victor M.M. Torres
-* Sergio Teruel
+* `Tecnativa `_:
+
+ * Victor M.M. Torres
+ * Sergio Teruel
+ * Carlos Roca
diff --git a/website_sale_product_attribute_value_filter_existing/static/description/index.html b/website_sale_product_attribute_value_filter_existing/static/description/index.html
index 4da2289523..c6255ff34e 100644
--- a/website_sale_product_attribute_value_filter_existing/static/description/index.html
+++ b/website_sale_product_attribute_value_filter_existing/static/description/index.html
@@ -367,7 +367,7 @@ Website Sale Attribute Value Existing
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module extends the functionality of website sale module to allow hide
product attributes values which exist but not used on any variants.
Table of contents
@@ -396,7 +396,7 @@
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -410,8 +410,12 @@
@@ -421,7 +425,7 @@
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/e-commerce project on GitHub.
+
This module is part of the OCA/e-commerce project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py b/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py
index 394b74ff38..3e76ef5376 100644
--- a/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py
+++ b/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py
@@ -11,11 +11,7 @@ def setUp(self):
ProductAttributeValue = self.env["product.attribute.value"]
ProductAttributeLine = self.env["product.template.attribute.line"]
self.product_attribute = ProductAttribute.create(
- {
- "name": "Test Special Color",
- "website_published": True,
- "create_variant": "no_variant",
- }
+ {"name": "Test Special Color", "create_variant": "no_variant"}
)
self.product_attribute_value_red = ProductAttributeValue.create(
{"name": "Test red", "attribute_id": self.product_attribute.id}
@@ -79,7 +75,7 @@ def test_ui_website(self):
"odoo.__DEBUG__.services['web_tour.tour']",
"website_sale_product_attribute_value_filter_existing",
)
- self.phantom_js(
+ self.browser_js(
url_path="/",
code="%s.run('%s')" % tour,
ready="%s.tours['%s'].ready" % tour,
diff --git a/website_sale_product_attribute_value_filter_existing/views/templates.xml b/website_sale_product_attribute_value_filter_existing/views/templates.xml
index 59dae6add5..35d478fa49 100644
--- a/website_sale_product_attribute_value_filter_existing/views/templates.xml
+++ b/website_sale_product_attribute_value_filter_existing/views/templates.xml
@@ -4,19 +4,19 @@
attr_values_used & v
attr_values_used & v
attr_values_used & v
From 7340b4e41bc0300c94abeaada012fa1ec63711c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Bidoul?=
Date: Sun, 18 Oct 2020 13:41:15 +0200
Subject: [PATCH 03/14] [FIX]
website_sale_product_attribute_value_filter_existing: development_status
---
.../README.rst | 13 ++++++++-----
.../__manifest__.py | 2 +-
.../static/description/index.html | 2 +-
3 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/website_sale_product_attribute_value_filter_existing/README.rst b/website_sale_product_attribute_value_filter_existing/README.rst
index 2c06f233da..ce27ce975e 100644
--- a/website_sale_product_attribute_value_filter_existing/README.rst
+++ b/website_sale_product_attribute_value_filter_existing/README.rst
@@ -7,20 +7,23 @@ Website Sale Attribute Value Existing
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-.. |badge1| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
+.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Production/Stable
+.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
-.. |badge2| image:: https://img.shields.io/badge/github-OCA%2Fe--commerce-lightgray.png?logo=github
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fe--commerce-lightgray.png?logo=github
:target: https://github.com/OCA/e-commerce/tree/13.0/website_sale_product_attribute_value_filter_existing
:alt: OCA/e-commerce
-.. |badge3| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/e-commerce-13-0/e-commerce-13-0-website_sale_product_attribute_value_filter_existing
:alt: Translate me on Weblate
-.. |badge4| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/113/13.0
:alt: Try me on Runbot
-|badge1| |badge2| |badge3| |badge4|
+|badge1| |badge2| |badge3| |badge4| |badge5|
This module extends the functionality of website sale module to allow hide
product attributes values which exist but not used on any variants.
diff --git a/website_sale_product_attribute_value_filter_existing/__manifest__.py b/website_sale_product_attribute_value_filter_existing/__manifest__.py
index 28f08906c2..7f9eb304b6 100644
--- a/website_sale_product_attribute_value_filter_existing/__manifest__.py
+++ b/website_sale_product_attribute_value_filter_existing/__manifest__.py
@@ -4,7 +4,7 @@
"name": "Website Sale Attribute Value Existing",
"summary": "Allow hide attributes values not used in variants",
"version": "13.0.1.0.0",
- "development_status": "Stable",
+ "development_status": "Production/Stable",
"category": "Website",
"website": "https://github.com/OCA/e-commerce",
"author": "Tecnativa, Odoo Community Association (OCA)",
diff --git a/website_sale_product_attribute_value_filter_existing/static/description/index.html b/website_sale_product_attribute_value_filter_existing/static/description/index.html
index c6255ff34e..c4fef8c3e1 100644
--- a/website_sale_product_attribute_value_filter_existing/static/description/index.html
+++ b/website_sale_product_attribute_value_filter_existing/static/description/index.html
@@ -367,7 +367,7 @@ Website Sale Attribute Value Existing
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module extends the functionality of website sale module to allow hide
product attributes values which exist but not used on any variants.
Table of contents
From 6496fcb91599f63fa7f2c8fcf6a225c50489484f Mon Sep 17 00:00:00 2001
From: claudiagn
Date: Thu, 25 Feb 2021 15:51:27 +0000
Subject: [PATCH 04/14] Added translation using Weblate (Spanish)
---
.../i18n/es.po | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 website_sale_product_attribute_value_filter_existing/i18n/es.po
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/es.po b/website_sale_product_attribute_value_filter_existing/i18n/es.po
new file mode 100644
index 0000000000..cdd0dca4a8
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/i18n/es.po
@@ -0,0 +1,14 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
From 6b7f72bec59838a1daa114c17ac0b20b0e375f2d Mon Sep 17 00:00:00 2001
From: claudiagn
Date: Thu, 25 Feb 2021 15:51:36 +0000
Subject: [PATCH 05/14] Added translation using Weblate (Catalan)
---
.../i18n/ca.po | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 website_sale_product_attribute_value_filter_existing/i18n/ca.po
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/ca.po b/website_sale_product_attribute_value_filter_existing/i18n/ca.po
new file mode 100644
index 0000000000..4d6a6788a4
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/i18n/ca.po
@@ -0,0 +1,14 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
From 97c06cf0f31f87b3f6f546f98812ea5d21b5f265 Mon Sep 17 00:00:00 2001
From: Bosd
Date: Mon, 5 Apr 2021 16:42:23 +0000
Subject: [PATCH 06/14] Added translation using Weblate (Dutch)
---
.../i18n/nl.po | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 website_sale_product_attribute_value_filter_existing/i18n/nl.po
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/nl.po b/website_sale_product_attribute_value_filter_existing/i18n/nl.po
new file mode 100644
index 0000000000..d61a759d36
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/i18n/nl.po
@@ -0,0 +1,14 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
From 79310ed344d34f57141ef905377b80a1dae09e20 Mon Sep 17 00:00:00 2001
From: miguels73 <55379877+miguels73@users.noreply.github.com>
Date: Fri, 25 Jun 2021 13:13:50 +0200
Subject: [PATCH 07/14] [IMP]
website_sale_product_attribute_value_filter_existing: black, isort, prettier
---
...website_sale_product_attribute_value_filter_existing_tour.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
index e370ea8670..05057b6b5e 100644
--- a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
+++ b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
@@ -1,7 +1,7 @@
/* Copyright 2019 Sergio Teruel
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
-odoo.define("website_sale_product_attribute_value_filter_existing.tour", function(
+odoo.define("website_sale_product_attribute_value_filter_existing.tour", function (
require
) {
"use strict";
From 80d8ea8c5c258b8ec2633ac520cce63c20af4592 Mon Sep 17 00:00:00 2001
From: miguels73 <55379877+miguels73@users.noreply.github.com>
Date: Fri, 25 Jun 2021 13:41:33 +0200
Subject: [PATCH 08/14] [MIG]
website_sale_product_attribute_value_filter_existing: Migration to 14.0
---
.../README.rst | 10 +++++-----
.../__manifest__.py | 2 +-
...te_sale_product_attribute_value_filter_existing.pot | 2 +-
.../static/description/index.html | 6 +++---
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/website_sale_product_attribute_value_filter_existing/README.rst b/website_sale_product_attribute_value_filter_existing/README.rst
index ce27ce975e..6291155351 100644
--- a/website_sale_product_attribute_value_filter_existing/README.rst
+++ b/website_sale_product_attribute_value_filter_existing/README.rst
@@ -14,13 +14,13 @@ Website Sale Attribute Value Existing
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fe--commerce-lightgray.png?logo=github
- :target: https://github.com/OCA/e-commerce/tree/13.0/website_sale_product_attribute_value_filter_existing
+ :target: https://github.com/OCA/e-commerce/tree/14.0/website_sale_product_attribute_value_filter_existing
:alt: OCA/e-commerce
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/e-commerce-13-0/e-commerce-13-0-website_sale_product_attribute_value_filter_existing
+ :target: https://translation.odoo-community.org/projects/e-commerce-14-0/e-commerce-14-0-website_sale_product_attribute_value_filter_existing
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/113/13.0
+ :target: https://runbot.odoo-community.org/runbot/113/14.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -46,7 +46,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -80,6 +80,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/e-commerce `_ project on GitHub.
+This module is part of the `OCA/e-commerce `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/website_sale_product_attribute_value_filter_existing/__manifest__.py b/website_sale_product_attribute_value_filter_existing/__manifest__.py
index 7f9eb304b6..bac4065629 100644
--- a/website_sale_product_attribute_value_filter_existing/__manifest__.py
+++ b/website_sale_product_attribute_value_filter_existing/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Website Sale Attribute Value Existing",
"summary": "Allow hide attributes values not used in variants",
- "version": "13.0.1.0.0",
+ "version": "14.0.1.0.0",
"development_status": "Production/Stable",
"category": "Website",
"website": "https://github.com/OCA/e-commerce",
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot b/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
index cc93d01ee5..4d8b20f912 100644
--- a/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
+++ b/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
@@ -3,7 +3,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 13.0\n"
+"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
diff --git a/website_sale_product_attribute_value_filter_existing/static/description/index.html b/website_sale_product_attribute_value_filter_existing/static/description/index.html
index c4fef8c3e1..948a4e493a 100644
--- a/website_sale_product_attribute_value_filter_existing/static/description/index.html
+++ b/website_sale_product_attribute_value_filter_existing/static/description/index.html
@@ -367,7 +367,7 @@ Website Sale Attribute Value Existing
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module extends the functionality of website sale module to allow hide
product attributes values which exist but not used on any variants.
Table of contents
@@ -396,7 +396,7 @@
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -425,7 +425,7 @@
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/e-commerce project on GitHub.
+
This module is part of the OCA/e-commerce project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
From ea67fc94824db7fe8428d15231d76ec3615df2a8 Mon Sep 17 00:00:00 2001
From: CarlosRoca13
Date: Wed, 2 Nov 2022 08:24:36 +0100
Subject: [PATCH 09/14] [IMP]
website_sale_product_attribute_value_filter_existing: black, isort, prettier
---
...ct_attribute_value_filter_existing_tour.js | 87 ++++++++++---------
1 file changed, 44 insertions(+), 43 deletions(-)
diff --git a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
index 05057b6b5e..d6b120b1ea 100644
--- a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
+++ b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
@@ -1,48 +1,49 @@
/* Copyright 2019 Sergio Teruel
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
-odoo.define("website_sale_product_attribute_value_filter_existing.tour", function (
- require
-) {
- "use strict";
+odoo.define(
+ "website_sale_product_attribute_value_filter_existing.tour",
+ function (require) {
+ "use strict";
- var tour = require("web_tour.tour");
- var base = require("web_editor.base");
+ var tour = require("web_tour.tour");
+ var base = require("web_editor.base");
- var steps = [
- {
- trigger: "a:contains('Customize')",
- },
- {
- trigger: "a:contains('Product Attribute')",
- },
- {
- trigger: "a[href='/shop']",
- },
- {
- trigger: "input[name=search]",
- run: "text Ipod",
- extra_trigger: ".js_attributes:has(span:contains('Test blue'))",
- },
- {
- trigger: ".oe_search_button",
- extra_trigger: ".js_attributes:has(span:contains('Test blue'))",
- },
- {
- trigger: "a[href='/shop']",
- extra_trigger: "li:not(:has(span:contains('Test blue')))",
- },
- ];
- tour.register(
- "website_sale_product_attribute_value_filter_existing",
- {
- url: "/shop",
- test: true,
- wait_for: base.ready(),
- },
- steps
- );
- return {
- steps: steps,
- };
-});
+ var steps = [
+ {
+ trigger: "a:contains('Customize')",
+ },
+ {
+ trigger: "a:contains('Product Attribute')",
+ },
+ {
+ trigger: "a[href='/shop']",
+ },
+ {
+ trigger: "input[name=search]",
+ run: "text Ipod",
+ extra_trigger: ".js_attributes:has(span:contains('Test blue'))",
+ },
+ {
+ trigger: ".oe_search_button",
+ extra_trigger: ".js_attributes:has(span:contains('Test blue'))",
+ },
+ {
+ trigger: "a[href='/shop']",
+ extra_trigger: "li:not(:has(span:contains('Test blue')))",
+ },
+ ];
+ tour.register(
+ "website_sale_product_attribute_value_filter_existing",
+ {
+ url: "/shop",
+ test: true,
+ wait_for: base.ready(),
+ },
+ steps
+ );
+ return {
+ steps: steps,
+ };
+ }
+);
From 23ef6c8884f5dc64dc60f7f4f83d30276cc8a52a Mon Sep 17 00:00:00 2001
From: CarlosRoca13
Date: Wed, 2 Nov 2022 09:07:42 +0100
Subject: [PATCH 10/14] [MIG]
website_sale_product_attribute_value_filter_existing: Migration to 15.0
[UPD] Update website_sale_product_attribute_value_filter_existing.pot
---
.../__manifest__.py | 10 ++++++++--
...sale_product_attribute_value_filter_existing.pot | 2 +-
..._product_attribute_value_filter_existing_tour.js | 12 +++---------
.../views/assets.xml | 13 -------------
.../views/templates.xml | 2 +-
5 files changed, 13 insertions(+), 26 deletions(-)
delete mode 100644 website_sale_product_attribute_value_filter_existing/views/assets.xml
diff --git a/website_sale_product_attribute_value_filter_existing/__manifest__.py b/website_sale_product_attribute_value_filter_existing/__manifest__.py
index bac4065629..f4a6943093 100644
--- a/website_sale_product_attribute_value_filter_existing/__manifest__.py
+++ b/website_sale_product_attribute_value_filter_existing/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Website Sale Attribute Value Existing",
"summary": "Allow hide attributes values not used in variants",
- "version": "14.0.1.0.0",
+ "version": "15.0.1.0.0",
"development_status": "Production/Stable",
"category": "Website",
"website": "https://github.com/OCA/e-commerce",
@@ -12,5 +12,11 @@
"application": False,
"installable": True,
"depends": ["website_sale"],
- "data": ["views/assets.xml", "views/templates.xml"],
+ "data": ["views/templates.xml"],
+ "assets": {
+ "web.assets_tests": [
+ "/website_sale_product_attribute_value_filter_existing/static/src/js/"
+ "website_sale_product_attribute_value_filter_existing_tour.js",
+ ]
+ },
}
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot b/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
index 4d8b20f912..a11baf5cd7 100644
--- a/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
+++ b/website_sale_product_attribute_value_filter_existing/i18n/website_sale_product_attribute_value_filter_existing.pot
@@ -3,7 +3,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 14.0\n"
+"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
diff --git a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
index d6b120b1ea..fb67e3c901 100644
--- a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
+++ b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
@@ -10,27 +10,21 @@ odoo.define(
var base = require("web_editor.base");
var steps = [
- {
- trigger: "a:contains('Customize')",
- },
- {
- trigger: "a:contains('Product Attribute')",
- },
{
trigger: "a[href='/shop']",
},
{
trigger: "input[name=search]",
run: "text Ipod",
- extra_trigger: ".js_attributes:has(span:contains('Test blue'))",
+ extra_trigger: ".js_attributes:has(label:contains('Test blue'))",
},
{
trigger: ".oe_search_button",
- extra_trigger: ".js_attributes:has(span:contains('Test blue'))",
+ extra_trigger: ".js_attributes:has(label:contains('Test blue'))",
},
{
trigger: "a[href='/shop']",
- extra_trigger: "li:not(:has(span:contains('Test blue')))",
+ extra_trigger: ".js_attributes:not(:has(label:contains('Test blue')))",
},
];
tour.register(
diff --git a/website_sale_product_attribute_value_filter_existing/views/assets.xml b/website_sale_product_attribute_value_filter_existing/views/assets.xml
deleted file mode 100644
index d273ad8729..0000000000
--- a/website_sale_product_attribute_value_filter_existing/views/assets.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/website_sale_product_attribute_value_filter_existing/views/templates.xml b/website_sale_product_attribute_value_filter_existing/views/templates.xml
index 35d478fa49..7f89c04ba1 100644
--- a/website_sale_product_attribute_value_filter_existing/views/templates.xml
+++ b/website_sale_product_attribute_value_filter_existing/views/templates.xml
@@ -10,7 +10,7 @@
attr_values_used & v
attr_values_used & v
From ec68b389dc1069214660d88ffefb6407d234af54 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Mon, 6 Mar 2023 18:47:29 +0000
Subject: [PATCH 11/14] [UPD] README.rst
---
.../README.rst | 10 +++++-----
.../static/description/index.html | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/website_sale_product_attribute_value_filter_existing/README.rst b/website_sale_product_attribute_value_filter_existing/README.rst
index 6291155351..7c8f1ccaf5 100644
--- a/website_sale_product_attribute_value_filter_existing/README.rst
+++ b/website_sale_product_attribute_value_filter_existing/README.rst
@@ -14,13 +14,13 @@ Website Sale Attribute Value Existing
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fe--commerce-lightgray.png?logo=github
- :target: https://github.com/OCA/e-commerce/tree/14.0/website_sale_product_attribute_value_filter_existing
+ :target: https://github.com/OCA/e-commerce/tree/15.0/website_sale_product_attribute_value_filter_existing
:alt: OCA/e-commerce
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/e-commerce-14-0/e-commerce-14-0-website_sale_product_attribute_value_filter_existing
+ :target: https://translation.odoo-community.org/projects/e-commerce-15-0/e-commerce-15-0-website_sale_product_attribute_value_filter_existing
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/113/14.0
+ :target: https://runbot.odoo-community.org/runbot/113/15.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -46,7 +46,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -80,6 +80,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/e-commerce `_ project on GitHub.
+This module is part of the `OCA/e-commerce `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/website_sale_product_attribute_value_filter_existing/static/description/index.html b/website_sale_product_attribute_value_filter_existing/static/description/index.html
index 948a4e493a..9280241288 100644
--- a/website_sale_product_attribute_value_filter_existing/static/description/index.html
+++ b/website_sale_product_attribute_value_filter_existing/static/description/index.html
@@ -367,7 +367,7 @@ Website Sale Attribute Value Existing
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module extends the functionality of website sale module to allow hide
product attributes values which exist but not used on any variants.
Table of contents
@@ -396,7 +396,7 @@
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -425,7 +425,7 @@
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/e-commerce project on GitHub.
+
This module is part of the OCA/e-commerce project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
From 6e75290e925ec4bc9d03a37e0498396f0161f705 Mon Sep 17 00:00:00 2001
From: Weblate
Date: Mon, 6 Mar 2023 20:08:49 +0000
Subject: [PATCH 12/14] Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: e-commerce-15.0/e-commerce-15.0-website_sale_product_attribute_value_filter_existing
Translate-URL: https://translation.odoo-community.org/projects/e-commerce-15-0/e-commerce-15-0-website_sale_product_attribute_value_filter_existing/
---
.../i18n/ca.po | 14 --------------
.../i18n/es.po | 14 --------------
.../i18n/nl.po | 14 --------------
3 files changed, 42 deletions(-)
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/ca.po b/website_sale_product_attribute_value_filter_existing/i18n/ca.po
index 4d6a6788a4..e69de29bb2 100644
--- a/website_sale_product_attribute_value_filter_existing/i18n/ca.po
+++ b/website_sale_product_attribute_value_filter_existing/i18n/ca.po
@@ -1,14 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server 13.0\n"
-"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"Language: ca\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/es.po b/website_sale_product_attribute_value_filter_existing/i18n/es.po
index cdd0dca4a8..e69de29bb2 100644
--- a/website_sale_product_attribute_value_filter_existing/i18n/es.po
+++ b/website_sale_product_attribute_value_filter_existing/i18n/es.po
@@ -1,14 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server 13.0\n"
-"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"Language: es\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
diff --git a/website_sale_product_attribute_value_filter_existing/i18n/nl.po b/website_sale_product_attribute_value_filter_existing/i18n/nl.po
index d61a759d36..e69de29bb2 100644
--- a/website_sale_product_attribute_value_filter_existing/i18n/nl.po
+++ b/website_sale_product_attribute_value_filter_existing/i18n/nl.po
@@ -1,14 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server 13.0\n"
-"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"Language: nl\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
From 7e658f5270ca059fee55db81e990736f228dc7e3 Mon Sep 17 00:00:00 2001
From: Diep Huu Hoang
Date: Wed, 15 Mar 2023 16:24:16 +0700
Subject: [PATCH 13/14] [IMP]
website_sale_product_attribute_value_filter_existing: black, isort, prettier
---
.../website_sale_product_attribute_value_filter_existing | 1 +
.../setup.py | 6 ++++++
2 files changed, 7 insertions(+)
create mode 120000 setup/website_sale_product_attribute_value_filter_existing/odoo/addons/website_sale_product_attribute_value_filter_existing
create mode 100644 setup/website_sale_product_attribute_value_filter_existing/setup.py
diff --git a/setup/website_sale_product_attribute_value_filter_existing/odoo/addons/website_sale_product_attribute_value_filter_existing b/setup/website_sale_product_attribute_value_filter_existing/odoo/addons/website_sale_product_attribute_value_filter_existing
new file mode 120000
index 0000000000..7bd3d67aeb
--- /dev/null
+++ b/setup/website_sale_product_attribute_value_filter_existing/odoo/addons/website_sale_product_attribute_value_filter_existing
@@ -0,0 +1 @@
+../../../../website_sale_product_attribute_value_filter_existing
\ No newline at end of file
diff --git a/setup/website_sale_product_attribute_value_filter_existing/setup.py b/setup/website_sale_product_attribute_value_filter_existing/setup.py
new file mode 100644
index 0000000000..28c57bb640
--- /dev/null
+++ b/setup/website_sale_product_attribute_value_filter_existing/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+ setup_requires=['setuptools-odoo'],
+ odoo_addon=True,
+)
From bba2f62ebd082a1753620b01ed234a64c8c22fd2 Mon Sep 17 00:00:00 2001
From: Diep Huu Hoang
Date: Fri, 24 Mar 2023 17:11:01 +0700
Subject: [PATCH 14/14] [16.0][MIG]
website_sale_product_attribute_value_filter_existing: Migration to 16.0
---
.../README.rst | 2 +-
.../__manifest__.py | 8 ++--
.../controllers/main.py | 26 ++++-------
.../readme/CONFIGURATION.rst | 5 +++
.../readme/CONTRIBUTORS.rst | 3 ++
.../readme/CREDITS.rst | 1 +
.../readme/USAGE.rst | 3 --
...ttribute_value_filter_existing_tour.esm.js | 33 ++++++++++++++
...ct_attribute_value_filter_existing_tour.js | 43 -------------------
...product_attribute_value_filter_existing.py | 15 +++----
.../views/templates.xml | 2 +-
11 files changed, 65 insertions(+), 76 deletions(-)
create mode 100644 website_sale_product_attribute_value_filter_existing/readme/CONFIGURATION.rst
create mode 100644 website_sale_product_attribute_value_filter_existing/readme/CREDITS.rst
delete mode 100644 website_sale_product_attribute_value_filter_existing/readme/USAGE.rst
create mode 100644 website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.esm.js
delete mode 100644 website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
diff --git a/website_sale_product_attribute_value_filter_existing/README.rst b/website_sale_product_attribute_value_filter_existing/README.rst
index 7c8f1ccaf5..a8cd972233 100644
--- a/website_sale_product_attribute_value_filter_existing/README.rst
+++ b/website_sale_product_attribute_value_filter_existing/README.rst
@@ -23,7 +23,7 @@ Website Sale Attribute Value Existing
:target: https://runbot.odoo-community.org/runbot/113/15.0
:alt: Try me on Runbot
-|badge1| |badge2| |badge3| |badge4| |badge5|
+|badge1| |badge2| |badge3| |badge4| |badge5|
This module extends the functionality of website sale module to allow hide
product attributes values which exist but not used on any variants.
diff --git a/website_sale_product_attribute_value_filter_existing/__manifest__.py b/website_sale_product_attribute_value_filter_existing/__manifest__.py
index f4a6943093..a405faebf5 100644
--- a/website_sale_product_attribute_value_filter_existing/__manifest__.py
+++ b/website_sale_product_attribute_value_filter_existing/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Website Sale Attribute Value Existing",
"summary": "Allow hide attributes values not used in variants",
- "version": "15.0.1.0.0",
+ "version": "16.0.1.0.0",
"development_status": "Production/Stable",
"category": "Website",
"website": "https://github.com/OCA/e-commerce",
@@ -11,12 +11,14 @@
"license": "LGPL-3",
"application": False,
"installable": True,
- "depends": ["website_sale"],
+ "depends": [
+ "website_sale",
+ ],
"data": ["views/templates.xml"],
"assets": {
"web.assets_tests": [
"/website_sale_product_attribute_value_filter_existing/static/src/js/"
- "website_sale_product_attribute_value_filter_existing_tour.js",
+ "website_sale_product_attribute_value_filter_existing_tour.esm.js",
]
},
}
diff --git a/website_sale_product_attribute_value_filter_existing/controllers/main.py b/website_sale_product_attribute_value_filter_existing/controllers/main.py
index 3317b9c6c6..1380c0e447 100644
--- a/website_sale_product_attribute_value_filter_existing/controllers/main.py
+++ b/website_sale_product_attribute_value_filter_existing/controllers/main.py
@@ -2,32 +2,24 @@
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
from odoo import http
from odoo.http import request
+from odoo.tools import lazy
from odoo.addons.website_sale.controllers.main import WebsiteSale
class ProductAttributeValues(WebsiteSale):
- def _get_search_domain(
- self, search, category, attrib_values, search_in_description=True
- ):
- # Store used domain in context to be reused after
- domain = super()._get_search_domain(
- search, category, attrib_values, search_in_description=search_in_description
- )
- new_context = dict(request.env.context, shop_search_domain=domain)
- request.context = new_context
- return domain
-
@http.route()
def shop(self, page=0, category=None, search="", ppg=False, **post):
res = super().shop(page=page, category=category, search=search, ppg=ppg, **post)
- domain = request.env.context.get("shop_search_domain", [])
- # Load all products without limit for the filter check on
- # attribute values
- templates = request.env["product.template"].search(domain, limit=False)
+
+ # getting existing templates by "search_product" in qcontext
+ # without searching again
+ templates = res.qcontext["search_product"]
ProductTemplateAttributeLine = request.env["product.template.attribute.line"]
- attribute_values = ProductTemplateAttributeLine.search(
- [("product_tmpl_id", "in", templates.ids)]
+ attribute_values = lazy(
+ lambda: ProductTemplateAttributeLine.search(
+ [("product_tmpl_id", "in", templates.ids)]
+ )
)
res.qcontext["attr_values_used"] = attribute_values.mapped("value_ids")
return res
diff --git a/website_sale_product_attribute_value_filter_existing/readme/CONFIGURATION.rst b/website_sale_product_attribute_value_filter_existing/readme/CONFIGURATION.rst
new file mode 100644
index 0000000000..94088c3c78
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/readme/CONFIGURATION.rst
@@ -0,0 +1,5 @@
+* Go to Website Shop
+* Active product attributes filter on theme panel option of shopping page
+ - Click edit button on shopping page (or directly go url: http://{your-domain}/@/shop)
+ - On tab `Customize`, enable attributes filter to show attribute values left of the layout.
+* System only display the attribute values if used.
diff --git a/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst b/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst
index 7bbc1ee8e7..2b6adba0d5 100644
--- a/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst
+++ b/website_sale_product_attribute_value_filter_existing/readme/CONTRIBUTORS.rst
@@ -3,3 +3,6 @@
* Victor M.M. Torres
* Sergio Teruel
* Carlos Roca
+
+* `Trobz `_:
+ * Hoang Diep
diff --git a/website_sale_product_attribute_value_filter_existing/readme/CREDITS.rst b/website_sale_product_attribute_value_filter_existing/readme/CREDITS.rst
new file mode 100644
index 0000000000..70bc307ad0
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/readme/CREDITS.rst
@@ -0,0 +1 @@
+The migration of this module from 15.0 to 16.0 was financially supported by Camptocamp
diff --git a/website_sale_product_attribute_value_filter_existing/readme/USAGE.rst b/website_sale_product_attribute_value_filter_existing/readme/USAGE.rst
deleted file mode 100644
index 599a0dda08..0000000000
--- a/website_sale_product_attribute_value_filter_existing/readme/USAGE.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-* Go to Website Shop
-* Active product attributes filter
-* System only display the attribute values if used.
diff --git a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.esm.js b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.esm.js
new file mode 100644
index 0000000000..2c55d77c01
--- /dev/null
+++ b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.esm.js
@@ -0,0 +1,33 @@
+/** @odoo-module **/
+
+import tour from "web_tour.tour";
+
+tour.register(
+ "website_sale_product_attribute_value_filter_existing",
+ {
+ test: true,
+ url: "/shop",
+ },
+ [
+ {
+ content: "1: browse shop page",
+ trigger: "a[href='/shop']",
+ },
+ {
+ content: "2: search a product",
+ trigger: "input[name=search]",
+ run: "text Ipod",
+ extra_trigger: ".js_attributes:has(label:contains('Test blue'))",
+ },
+ {
+ content: "3: submit search button",
+ trigger: ".oe_search_button",
+ extra_trigger: ".js_attributes:has(label:contains('Test blue'))",
+ },
+ {
+ content: "4: browse shop page after search",
+ trigger: "a[href='/shop']",
+ extra_trigger: ".js_attributes:not(:has(label:contains('Test blue')))",
+ },
+ ]
+);
diff --git a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js b/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
deleted file mode 100644
index fb67e3c901..0000000000
--- a/website_sale_product_attribute_value_filter_existing/static/src/js/website_sale_product_attribute_value_filter_existing_tour.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2019 Sergio Teruel
- * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
-
-odoo.define(
- "website_sale_product_attribute_value_filter_existing.tour",
- function (require) {
- "use strict";
-
- var tour = require("web_tour.tour");
- var base = require("web_editor.base");
-
- var steps = [
- {
- trigger: "a[href='/shop']",
- },
- {
- trigger: "input[name=search]",
- run: "text Ipod",
- extra_trigger: ".js_attributes:has(label:contains('Test blue'))",
- },
- {
- trigger: ".oe_search_button",
- extra_trigger: ".js_attributes:has(label:contains('Test blue'))",
- },
- {
- trigger: "a[href='/shop']",
- extra_trigger: ".js_attributes:not(:has(label:contains('Test blue')))",
- },
- ];
- tour.register(
- "website_sale_product_attribute_value_filter_existing",
- {
- url: "/shop",
- test: true,
- wait_for: base.ready(),
- },
- steps
- );
- return {
- steps: steps,
- };
- }
-);
diff --git a/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py b/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py
index 3e76ef5376..d3d9fdc74f 100644
--- a/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py
+++ b/website_sale_product_attribute_value_filter_existing/tests/test_website_sale_product_attribute_value_filter_existing.py
@@ -1,8 +1,9 @@
# Copyright 2019 Tecnativa - Sergio Teruel
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
-from odoo.tests.common import HttpCase
+from odoo.tests.common import HttpCase, tagged
+@tagged("post_install", "-at_install")
class WebsiteSaleHttpCase(HttpCase):
def setUp(self):
super().setUp()
@@ -71,13 +72,11 @@ def setUp(self):
def test_ui_website(self):
"""Test frontend tour."""
- tour = (
- "odoo.__DEBUG__.services['web_tour.tour']",
+
+ self.start_tour(
+ "/",
"website_sale_product_attribute_value_filter_existing",
- )
- self.browser_js(
- url_path="/",
- code="%s.run('%s')" % tour,
- ready="%s.tours['%s'].ready" % tour,
login="admin",
+ # deplay step here to ensure the tests pass
+ step_delay=100,
)
diff --git a/website_sale_product_attribute_value_filter_existing/views/templates.xml b/website_sale_product_attribute_value_filter_existing/views/templates.xml
index 7f89c04ba1..4f6487657b 100644
--- a/website_sale_product_attribute_value_filter_existing/views/templates.xml
+++ b/website_sale_product_attribute_value_filter_existing/views/templates.xml
@@ -16,7 +16,7 @@
attr_values_used & v
attr_values_used & v