From 5a68cf0cf34e297c449256ad1c2685e2349807a5 Mon Sep 17 00:00:00 2001 From: miguels73 <55379877+miguels73@users.noreply.github.com> Date: Fri, 9 Dec 2022 13:43:40 +0100 Subject: [PATCH 1/4] [ADD] website_sale_barcode_search: search by barcode in website --- website_sale_barcode_search/README.rst | 84 ++++ website_sale_barcode_search/__init__.py | 1 + website_sale_barcode_search/__manifest__.py | 13 + .../controllers/__init__.py | 1 + .../controllers/website_sale.py | 21 + .../i18n/website_sale_barcode_search.pot | 13 + .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 1 + website_sale_barcode_search/readme/USAGE.rst | 2 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 435 ++++++++++++++++++ 11 files changed, 574 insertions(+) create mode 100644 website_sale_barcode_search/README.rst create mode 100644 website_sale_barcode_search/__init__.py create mode 100644 website_sale_barcode_search/__manifest__.py create mode 100644 website_sale_barcode_search/controllers/__init__.py create mode 100644 website_sale_barcode_search/controllers/website_sale.py create mode 100644 website_sale_barcode_search/i18n/website_sale_barcode_search.pot create mode 100644 website_sale_barcode_search/readme/CONTRIBUTORS.rst create mode 100644 website_sale_barcode_search/readme/DESCRIPTION.rst create mode 100644 website_sale_barcode_search/readme/USAGE.rst create mode 100644 website_sale_barcode_search/static/description/icon.png create mode 100644 website_sale_barcode_search/static/description/index.html diff --git a/website_sale_barcode_search/README.rst b/website_sale_barcode_search/README.rst new file mode 100644 index 0000000000..aa6d6da130 --- /dev/null +++ b/website_sale_barcode_search/README.rst @@ -0,0 +1,84 @@ +=========================== +Website Sale Barcode Search +=========================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:0f8f64bd2a8ac0bd4cd293bafbae386972679d370aa552983cef13b17fbe3a1a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-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_barcode_search + :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_barcode_search + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/e-commerce&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of website sale module to allow to improve website product search adding search by barcode. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +#. Go to Website Shop. +#. Search any product by barcode + +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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Studio73 + +Contributors +~~~~~~~~~~~~ + +* `Studio73 `_: + + * Miguel Gandia + +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_barcode_search/__init__.py b/website_sale_barcode_search/__init__.py new file mode 100644 index 0000000000..e046e49fbe --- /dev/null +++ b/website_sale_barcode_search/__init__.py @@ -0,0 +1 @@ +from . import controllers diff --git a/website_sale_barcode_search/__manifest__.py b/website_sale_barcode_search/__manifest__.py new file mode 100644 index 0000000000..8daedf3075 --- /dev/null +++ b/website_sale_barcode_search/__manifest__.py @@ -0,0 +1,13 @@ +# Copyright 2022 Studio73 - Miguel Gandia +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Website Sale Barcode Search", + "category": "E-Commerce", + "summary": "It improve website product search adding search by barcode", + "version": "14.0.1.0.0", + "license": "AGPL-3", + "depends": ["website_sale"], + "author": "Studio73, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/e-commerce", + "installable": True, +} diff --git a/website_sale_barcode_search/controllers/__init__.py b/website_sale_barcode_search/controllers/__init__.py new file mode 100644 index 0000000000..bdae4ccade --- /dev/null +++ b/website_sale_barcode_search/controllers/__init__.py @@ -0,0 +1 @@ +from . import website_sale diff --git a/website_sale_barcode_search/controllers/website_sale.py b/website_sale_barcode_search/controllers/website_sale.py new file mode 100644 index 0000000000..3f5750c1d3 --- /dev/null +++ b/website_sale_barcode_search/controllers/website_sale.py @@ -0,0 +1,21 @@ +# Copyright 2022 Studio73 - Miguel Gandia +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.osv import expression + +from odoo.addons.website_sale.controllers.main import WebsiteSale + + +class WebsiteSaleSearchByBarcode(WebsiteSale): + def _get_search_domain( + self, search, category, attrib_values, search_in_description=True + ): + domains = super()._get_search_domain( + search, category, attrib_values, search_in_description + ) + _domains = [] + if search: + for srch in search.split(" "): + subdomains = [("barcode", "=", srch)] + _domains = expression.OR([_domains, subdomains]) + return expression.OR([domains, _domains]) diff --git a/website_sale_barcode_search/i18n/website_sale_barcode_search.pot b/website_sale_barcode_search/i18n/website_sale_barcode_search.pot new file mode 100644 index 0000000000..4d8b20f912 --- /dev/null +++ b/website_sale_barcode_search/i18n/website_sale_barcode_search.pot @@ -0,0 +1,13 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.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_barcode_search/readme/CONTRIBUTORS.rst b/website_sale_barcode_search/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..a07b4016a9 --- /dev/null +++ b/website_sale_barcode_search/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `Studio73 `_: + + * Miguel Gandia diff --git a/website_sale_barcode_search/readme/DESCRIPTION.rst b/website_sale_barcode_search/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..9e5e46bc22 --- /dev/null +++ b/website_sale_barcode_search/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module extends the functionality of website sale module to allow to improve website product search adding search by barcode. diff --git a/website_sale_barcode_search/readme/USAGE.rst b/website_sale_barcode_search/readme/USAGE.rst new file mode 100644 index 0000000000..5069e03bb1 --- /dev/null +++ b/website_sale_barcode_search/readme/USAGE.rst @@ -0,0 +1,2 @@ +#. Go to Website Shop. +#. Search any product by barcode diff --git a/website_sale_barcode_search/static/description/icon.png b/website_sale_barcode_search/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_barcode_search/static/description/index.html b/website_sale_barcode_search/static/description/index.html new file mode 100644 index 0000000000..dc1745aceb --- /dev/null +++ b/website_sale_barcode_search/static/description/index.html @@ -0,0 +1,435 @@ + + + + + + +Website Sale Barcode Search + + + + + + From 735c6dd3427d3f291b59698cc8ab490027db792e Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 8 Jan 2025 09:06:32 +0000 Subject: [PATCH 2/4] Added translation using Weblate (Italian) --- website_sale_barcode_search/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 website_sale_barcode_search/i18n/it.po diff --git a/website_sale_barcode_search/i18n/it.po b/website_sale_barcode_search/i18n/it.po new file mode 100644 index 0000000000..9ce4346f63 --- /dev/null +++ b/website_sale_barcode_search/i18n/it.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 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\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 e9a46ee7ae1a92b70f846a9a4860ccf8d1af8531 Mon Sep 17 00:00:00 2001 From: pilarvargas-tecnativa Date: Mon, 3 Nov 2025 07:55:48 +0100 Subject: [PATCH 3/4] [IMP] website_sale_barcode_search: pre-commit auto fixes --- website_sale_barcode_search/README.rst | 27 ++++++++++--------- website_sale_barcode_search/pyproject.toml | 3 +++ .../readme/CONTRIBUTORS.md | 3 +++ .../readme/CONTRIBUTORS.rst | 3 --- .../readme/DESCRIPTION.md | 2 ++ .../readme/DESCRIPTION.rst | 1 - website_sale_barcode_search/readme/USAGE.md | 2 ++ website_sale_barcode_search/readme/USAGE.rst | 2 -- .../static/description/index.html | 21 ++++++++------- 9 files changed, 36 insertions(+), 28 deletions(-) create mode 100644 website_sale_barcode_search/pyproject.toml create mode 100644 website_sale_barcode_search/readme/CONTRIBUTORS.md delete mode 100644 website_sale_barcode_search/readme/CONTRIBUTORS.rst create mode 100644 website_sale_barcode_search/readme/DESCRIPTION.md delete mode 100644 website_sale_barcode_search/readme/DESCRIPTION.rst create mode 100644 website_sale_barcode_search/readme/USAGE.md delete mode 100644 website_sale_barcode_search/readme/USAGE.rst diff --git a/website_sale_barcode_search/README.rst b/website_sale_barcode_search/README.rst index aa6d6da130..a4afcbc879 100644 --- a/website_sale_barcode_search/README.rst +++ b/website_sale_barcode_search/README.rst @@ -17,18 +17,19 @@ Website Sale Barcode Search :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-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_barcode_search + :target: https://github.com/OCA/e-commerce/tree/18.0/website_sale_barcode_search :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_barcode_search + :target: https://translation.odoo-community.org/projects/e-commerce-18-0/e-commerce-18-0-website_sale_barcode_search :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/e-commerce&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/e-commerce&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module extends the functionality of website sale module to allow to improve website product search adding search by barcode. +This module extends the functionality of website sale module to allow to +improve website product search adding search by barcode. **Table of contents** @@ -38,8 +39,8 @@ This module extends the functionality of website sale module to allow to improve Usage ===== -#. Go to Website Shop. -#. Search any product by barcode +1. Go to Website Shop. +2. Search any product by barcode Bug Tracker =========== @@ -47,7 +48,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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -55,19 +56,19 @@ Credits ======= Authors -~~~~~~~ +------- * Studio73 Contributors -~~~~~~~~~~~~ +------------ -* `Studio73 `_: +- `Studio73 `__: - * Miguel Gandia + - Miguel Gandia Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -79,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_barcode_search/pyproject.toml b/website_sale_barcode_search/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/website_sale_barcode_search/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/website_sale_barcode_search/readme/CONTRIBUTORS.md b/website_sale_barcode_search/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..12e12f6158 --- /dev/null +++ b/website_sale_barcode_search/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- [Studio73](https://www.studio73.es): + + > - Miguel Gandia diff --git a/website_sale_barcode_search/readme/CONTRIBUTORS.rst b/website_sale_barcode_search/readme/CONTRIBUTORS.rst deleted file mode 100644 index a07b4016a9..0000000000 --- a/website_sale_barcode_search/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,3 +0,0 @@ -* `Studio73 `_: - - * Miguel Gandia diff --git a/website_sale_barcode_search/readme/DESCRIPTION.md b/website_sale_barcode_search/readme/DESCRIPTION.md new file mode 100644 index 0000000000..9375bad430 --- /dev/null +++ b/website_sale_barcode_search/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module extends the functionality of website sale module to allow to +improve website product search adding search by barcode. diff --git a/website_sale_barcode_search/readme/DESCRIPTION.rst b/website_sale_barcode_search/readme/DESCRIPTION.rst deleted file mode 100644 index 9e5e46bc22..0000000000 --- a/website_sale_barcode_search/readme/DESCRIPTION.rst +++ /dev/null @@ -1 +0,0 @@ -This module extends the functionality of website sale module to allow to improve website product search adding search by barcode. diff --git a/website_sale_barcode_search/readme/USAGE.md b/website_sale_barcode_search/readme/USAGE.md new file mode 100644 index 0000000000..3ce8df882f --- /dev/null +++ b/website_sale_barcode_search/readme/USAGE.md @@ -0,0 +1,2 @@ +1. Go to Website Shop. +2. Search any product by barcode diff --git a/website_sale_barcode_search/readme/USAGE.rst b/website_sale_barcode_search/readme/USAGE.rst deleted file mode 100644 index 5069e03bb1..0000000000 --- a/website_sale_barcode_search/readme/USAGE.rst +++ /dev/null @@ -1,2 +0,0 @@ -#. Go to Website Shop. -#. Search any product by barcode diff --git a/website_sale_barcode_search/static/description/index.html b/website_sale_barcode_search/static/description/index.html index dc1745aceb..b2807bce67 100644 --- a/website_sale_barcode_search/static/description/index.html +++ b/website_sale_barcode_search/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -369,8 +369,9 @@

Website Sale Barcode Search

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:0f8f64bd2a8ac0bd4cd293bafbae386972679d370aa552983cef13b17fbe3a1a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/e-commerce Translate me on Weblate Try me on Runboat

-

This module extends the functionality of website sale module to allow to improve website product search adding search by barcode.

+

Beta License: AGPL-3 OCA/e-commerce Translate me on Weblate Try me on Runboat

+

This module extends the functionality of website sale module to allow to +improve website product search adding search by barcode.

Table of contents

    @@ -396,7 +397,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 to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

@@ -422,11 +423,13 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

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 b1a64e0ead0d58faeee4959ba1f70ade15315b87 Mon Sep 17 00:00:00 2001 From: pilarvargas-tecnativa Date: Mon, 3 Nov 2025 11:52:24 +0100 Subject: [PATCH 4/4] [MIG] website_sale_barcode_search: Migration to version 18.0 In this migration, the search function has been adapted to the current product search function in any search engine on the website. TT58473 --- website_sale_barcode_search/README.rst | 4 ++++ website_sale_barcode_search/__init__.py | 2 +- website_sale_barcode_search/__manifest__.py | 2 +- .../controllers/__init__.py | 1 - .../controllers/website_sale.py | 21 ------------------- .../models/__init__.py | 1 + .../models/product_template.py | 20 ++++++++++++++++++ .../readme/CONTRIBUTORS.md | 4 ++++ .../static/description/index.html | 5 +++++ 9 files changed, 36 insertions(+), 24 deletions(-) delete mode 100644 website_sale_barcode_search/controllers/__init__.py delete mode 100644 website_sale_barcode_search/controllers/website_sale.py create mode 100644 website_sale_barcode_search/models/__init__.py create mode 100644 website_sale_barcode_search/models/product_template.py diff --git a/website_sale_barcode_search/README.rst b/website_sale_barcode_search/README.rst index a4afcbc879..288e276ed3 100644 --- a/website_sale_barcode_search/README.rst +++ b/website_sale_barcode_search/README.rst @@ -67,6 +67,10 @@ Contributors - Miguel Gandia +- ``Tecnativa ``\ \_\_: + + - Pilar Vargas + Maintainers ----------- diff --git a/website_sale_barcode_search/__init__.py b/website_sale_barcode_search/__init__.py index e046e49fbe..0650744f6b 100644 --- a/website_sale_barcode_search/__init__.py +++ b/website_sale_barcode_search/__init__.py @@ -1 +1 @@ -from . import controllers +from . import models diff --git a/website_sale_barcode_search/__manifest__.py b/website_sale_barcode_search/__manifest__.py index 8daedf3075..edddcc7320 100644 --- a/website_sale_barcode_search/__manifest__.py +++ b/website_sale_barcode_search/__manifest__.py @@ -4,7 +4,7 @@ "name": "Website Sale Barcode Search", "category": "E-Commerce", "summary": "It improve website product search adding search by barcode", - "version": "14.0.1.0.0", + "version": "18.0.1.0.0", "license": "AGPL-3", "depends": ["website_sale"], "author": "Studio73, Odoo Community Association (OCA)", diff --git a/website_sale_barcode_search/controllers/__init__.py b/website_sale_barcode_search/controllers/__init__.py deleted file mode 100644 index bdae4ccade..0000000000 --- a/website_sale_barcode_search/controllers/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import website_sale diff --git a/website_sale_barcode_search/controllers/website_sale.py b/website_sale_barcode_search/controllers/website_sale.py deleted file mode 100644 index 3f5750c1d3..0000000000 --- a/website_sale_barcode_search/controllers/website_sale.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2022 Studio73 - Miguel Gandia -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo.osv import expression - -from odoo.addons.website_sale.controllers.main import WebsiteSale - - -class WebsiteSaleSearchByBarcode(WebsiteSale): - def _get_search_domain( - self, search, category, attrib_values, search_in_description=True - ): - domains = super()._get_search_domain( - search, category, attrib_values, search_in_description - ) - _domains = [] - if search: - for srch in search.split(" "): - subdomains = [("barcode", "=", srch)] - _domains = expression.OR([_domains, subdomains]) - return expression.OR([domains, _domains]) diff --git a/website_sale_barcode_search/models/__init__.py b/website_sale_barcode_search/models/__init__.py new file mode 100644 index 0000000000..e8fa8f6bf1 --- /dev/null +++ b/website_sale_barcode_search/models/__init__.py @@ -0,0 +1 @@ +from . import product_template diff --git a/website_sale_barcode_search/models/product_template.py b/website_sale_barcode_search/models/product_template.py new file mode 100644 index 0000000000..5ef43deabd --- /dev/null +++ b/website_sale_barcode_search/models/product_template.py @@ -0,0 +1,20 @@ +# Copyright 2025 Tecnativa - Pilar Vargas +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import api, models +from odoo.osv import expression + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + @api.model + def _search_fetch(self, search_detail, search, limit, order): + records, count = super()._search_fetch(search_detail, search, limit, order) + base_domain = search_detail.get("base_domain") + base_domain.append([("barcode", "ilike", search)]) + domain = expression.AND(base_domain) + tmpl_ids = self.search(domain) + if tmpl_ids: + records |= tmpl_ids + count = len(records) + return records, count diff --git a/website_sale_barcode_search/readme/CONTRIBUTORS.md b/website_sale_barcode_search/readme/CONTRIBUTORS.md index 12e12f6158..ec748175f4 100644 --- a/website_sale_barcode_search/readme/CONTRIBUTORS.md +++ b/website_sale_barcode_search/readme/CONTRIBUTORS.md @@ -1,3 +1,7 @@ - [Studio73](https://www.studio73.es): > - Miguel Gandia + +- `Tecnativa `__: + + - Pilar Vargas diff --git a/website_sale_barcode_search/static/description/index.html b/website_sale_barcode_search/static/description/index.html index b2807bce67..708cfc1f4a 100644 --- a/website_sale_barcode_search/static/description/index.html +++ b/website_sale_barcode_search/static/description/index.html @@ -418,6 +418,11 @@

Contributors

+
  • Tecnativa <https://www.tecnativa.com>__:

    +
      +
    • Pilar Vargas
    • +
    +