From edb8ff3c0d4c4740530cbdbd7f396536673cfd76 Mon Sep 17 00:00:00 2001 From: Antonio Yamuta Date: Tue, 27 Feb 2018 23:40:42 -0800 Subject: [PATCH 01/21] [ADD] Module to add a constraint on the internal reference of the product to make it unique across the database. --- product_code_unique/README.rst | 64 ++++++++++++++++++ product_code_unique/__init__.py | 19 ++++++ product_code_unique/__manifest__.py | 19 ++++++ .../i18n/product_code_unique.pot | 25 +++++++ product_code_unique/models/__init__.py | 4 ++ product_code_unique/models/product.py | 12 ++++ .../static/description/icon.png | Bin 0 -> 9455 bytes 7 files changed, 143 insertions(+) create mode 100644 product_code_unique/README.rst create mode 100644 product_code_unique/__init__.py create mode 100644 product_code_unique/__manifest__.py create mode 100644 product_code_unique/i18n/product_code_unique.pot create mode 100644 product_code_unique/models/__init__.py create mode 100644 product_code_unique/models/product.py create mode 100644 product_code_unique/static/description/icon.png diff --git a/product_code_unique/README.rst b/product_code_unique/README.rst new file mode 100644 index 00000000000..24246fb8b48 --- /dev/null +++ b/product_code_unique/README.rst @@ -0,0 +1,64 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +================================= +Unique Product Internal Reference +================================= + +This module adds a constraint on the internal reference of the product +to make it unique across the database. + +Usage +===== +* Unable to save a product when a new internal reference or default_code value is + the same with an existing record. +* A pre_init_hook process is initiated when there exist records without an internal reference(default_code). + A default value is generated to populate empty field as a temporary value. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/135/11.0 + +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 smash it by providing detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Antonio Yamuta + +Funders +------- + +The development of this module has been financially supported by: + +* Open Source Integrators + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/product_code_unique/__init__.py b/product_code_unique/__init__.py new file mode 100644 index 00000000000..9bab8a354d0 --- /dev/null +++ b/product_code_unique/__init__.py @@ -0,0 +1,19 @@ +# Copyright (C) 2018 - TODAY, Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models + + +def pre_init_product_code(cr): + cr.execute("""UPDATE product_product + SET default_code = 'DEFAULT' || nextval('ir_default_id_seq') + WHERE id in (SELECT distinct(pp.id) + FROM product_product pp + INNER JOIN (SELECT default_code, COUNT(*) + FROM product_product + GROUP BY default_code + HAVING COUNT(*)>1 + )pp1 on pp.default_code=pp1.default_code + or pp.default_code is NULL + or LENGTH(pp.default_code) = 0)""") + return True diff --git a/product_code_unique/__manifest__.py b/product_code_unique/__manifest__.py new file mode 100644 index 00000000000..aa59465dac6 --- /dev/null +++ b/product_code_unique/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright (C) 2018 - TODAY, Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Unique Product Internal Reference", + "summary": "Set Product Internal Reference as Unique", + "version": "11.0.1.0.0", + "license": "AGPL-3", + "author": "Open Source Integrators, Odoo Community Association (OCA)", + "category": "Product", + "website": "https://github.com/OCA/product-attribute", + "depends": ["product"], + "data": [ + ], + 'demo': [ + ], + "pre_init_hook": 'pre_init_product_code', + "installable": True, +} diff --git a/product_code_unique/i18n/product_code_unique.pot b/product_code_unique/i18n/product_code_unique.pot new file mode 100644 index 00000000000..c3fb3f260e0 --- /dev/null +++ b/product_code_unique/i18n/product_code_unique.pot @@ -0,0 +1,25 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_code_unique +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.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" + +#. module: product_code_unique +#: sql_constraint:product.product:0 +msgid "Internal Reference must be unique across the database!" +msgstr "" + +#. module: product_code_unique +#: model:ir.model,name:product_code_unique.model_product_product +msgid "Product" +msgstr "" + diff --git a/product_code_unique/models/__init__.py b/product_code_unique/models/__init__.py new file mode 100644 index 00000000000..2c3319d8df1 --- /dev/null +++ b/product_code_unique/models/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2018 - TODAY, Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import product diff --git a/product_code_unique/models/product.py b/product_code_unique/models/product.py new file mode 100644 index 00000000000..6469901f1df --- /dev/null +++ b/product_code_unique/models/product.py @@ -0,0 +1,12 @@ +# Copyright (C) 2018 - TODAY, Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class ProductProduct(models.Model): + _inherit = 'product.product' + + _sql_constraints = [ + ('default_code_uniq', 'unique(default_code)', + 'Internal Reference must be unique across the database!'), ] diff --git a/product_code_unique/static/description/icon.png b/product_code_unique/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 From 355610cebe7ae19a0a5c15ab6208277d4186d5a5 Mon Sep 17 00:00:00 2001 From: Ruchir Shukla Date: Sun, 25 Nov 2018 09:51:17 +0530 Subject: [PATCH 02/21] [MIG]product_code_unique: migration from 11 to 12 --- product_code_unique/__init__.py | 16 +--------------- product_code_unique/__manifest__.py | 6 +----- product_code_unique/hook.py | 17 +++++++++++++++++ .../i18n/product_code_unique.pot | 2 +- 4 files changed, 20 insertions(+), 21 deletions(-) create mode 100644 product_code_unique/hook.py diff --git a/product_code_unique/__init__.py b/product_code_unique/__init__.py index 9bab8a354d0..798718f389a 100644 --- a/product_code_unique/__init__.py +++ b/product_code_unique/__init__.py @@ -2,18 +2,4 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import models - - -def pre_init_product_code(cr): - cr.execute("""UPDATE product_product - SET default_code = 'DEFAULT' || nextval('ir_default_id_seq') - WHERE id in (SELECT distinct(pp.id) - FROM product_product pp - INNER JOIN (SELECT default_code, COUNT(*) - FROM product_product - GROUP BY default_code - HAVING COUNT(*)>1 - )pp1 on pp.default_code=pp1.default_code - or pp.default_code is NULL - or LENGTH(pp.default_code) = 0)""") - return True +from .hook import pre_init_product_code diff --git a/product_code_unique/__manifest__.py b/product_code_unique/__manifest__.py index aa59465dac6..c37d4582af8 100644 --- a/product_code_unique/__manifest__.py +++ b/product_code_unique/__manifest__.py @@ -4,16 +4,12 @@ { "name": "Unique Product Internal Reference", "summary": "Set Product Internal Reference as Unique", - "version": "11.0.1.0.0", + "version": "12.0.1.0.0", "license": "AGPL-3", "author": "Open Source Integrators, Odoo Community Association (OCA)", "category": "Product", "website": "https://github.com/OCA/product-attribute", "depends": ["product"], - "data": [ - ], - 'demo': [ - ], "pre_init_hook": 'pre_init_product_code', "installable": True, } diff --git a/product_code_unique/hook.py b/product_code_unique/hook.py new file mode 100644 index 00000000000..e311211925c --- /dev/null +++ b/product_code_unique/hook.py @@ -0,0 +1,17 @@ +# Copyright (C) 2019 - TODAY, Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +def pre_init_product_code(cr): + cr.execute("""UPDATE product_product + SET default_code = 'DEFAULT' || nextval('ir_default_id_seq') + WHERE id in (SELECT distinct(pp.id) + FROM product_product pp + INNER JOIN (SELECT default_code, COUNT(*) + FROM product_product + GROUP BY default_code + HAVING COUNT(*)>1 + )pp1 on pp.default_code=pp1.default_code + or pp.default_code is NULL + or LENGTH(pp.default_code) = 0)""") + return True diff --git a/product_code_unique/i18n/product_code_unique.pot b/product_code_unique/i18n/product_code_unique.pot index c3fb3f260e0..4b8b11ecaf0 100644 --- a/product_code_unique/i18n/product_code_unique.pot +++ b/product_code_unique/i18n/product_code_unique.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" From dcb8aff28b90848cf9093aecf73f6cf33a2bdac4 Mon Sep 17 00:00:00 2001 From: Raf Ven Date: Tue, 1 Oct 2019 10:27:56 +0200 Subject: [PATCH 03/21] [MIG] product_code_unique: Migration to 13.0 --- product_code_unique/README.rst | 75 +-- product_code_unique/__manifest__.py | 4 +- product_code_unique/hook.py | 6 +- .../i18n/product_code_unique.pot | 9 +- product_code_unique/models/product.py | 10 +- product_code_unique/readme/CONTRIBUTORS.rst | 2 + product_code_unique/readme/DESCRIPTION.rst | 2 + product_code_unique/readme/USAGE.rst | 4 + .../static/description/index.html | 431 ++++++++++++++++++ product_code_unique/tests/__init__.py | 1 + product_code_unique/tests/test_code_unique.py | 28 ++ 11 files changed, 532 insertions(+), 40 deletions(-) create mode 100644 product_code_unique/readme/CONTRIBUTORS.rst create mode 100644 product_code_unique/readme/DESCRIPTION.rst create mode 100644 product_code_unique/readme/USAGE.rst create mode 100644 product_code_unique/static/description/index.html create mode 100644 product_code_unique/tests/__init__.py create mode 100644 product_code_unique/tests/test_code_unique.py diff --git a/product_code_unique/README.rst b/product_code_unique/README.rst index 24246fb8b48..9bf3584b17d 100644 --- a/product_code_unique/README.rst +++ b/product_code_unique/README.rst @@ -1,64 +1,83 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - ================================= Unique Product Internal Reference ================================= -This module adds a constraint on the internal reference of the product +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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-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%2Fproduct--attribute-lightgray.png?logo=github + :target: https://github.com/OCA/product-attribute/tree/13.0/product_code_unique + :alt: OCA/product-attribute +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/product-attribute-13-0/product-attribute-13-0-product_code_unique + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/135/13.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds a constraint on the internal reference of the product to make it unique across the database. +**Table of contents** + +.. contents:: + :local: + Usage ===== + * Unable to save a product when a new internal reference or default_code value is the same with an existing record. * A pre_init_hook process is initiated when there exist records without an internal reference(default_code). A default value is generated to populate empty field as a temporary value. -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/135/11.0 - 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 smash it by providing detailed and welcomed feedback. +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 ======= -Images ------- +Authors +~~~~~~~ -* Odoo Community Association: `Icon `_. +* Open Source Integrators Contributors ------------- +~~~~~~~~~~~~ * Antonio Yamuta +* Raf Ven -Funders -------- +Maintainers +~~~~~~~~~~~ -The development of this module has been financially supported by: - -* Open Source Integrators - -Maintainer ----------- +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -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. -To contribute to this module, please visit https://odoo-community.org. +This module is part of the `OCA/product-attribute `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_code_unique/__manifest__.py b/product_code_unique/__manifest__.py index c37d4582af8..68afdd0f269 100644 --- a/product_code_unique/__manifest__.py +++ b/product_code_unique/__manifest__.py @@ -4,12 +4,12 @@ { "name": "Unique Product Internal Reference", "summary": "Set Product Internal Reference as Unique", - "version": "12.0.1.0.0", + "version": "13.0.1.0.0", "license": "AGPL-3", "author": "Open Source Integrators, Odoo Community Association (OCA)", "category": "Product", "website": "https://github.com/OCA/product-attribute", "depends": ["product"], - "pre_init_hook": 'pre_init_product_code', + "pre_init_hook": "pre_init_product_code", "installable": True, } diff --git a/product_code_unique/hook.py b/product_code_unique/hook.py index e311211925c..33d6127d0b5 100644 --- a/product_code_unique/hook.py +++ b/product_code_unique/hook.py @@ -3,7 +3,8 @@ def pre_init_product_code(cr): - cr.execute("""UPDATE product_product + cr.execute( + """UPDATE product_product SET default_code = 'DEFAULT' || nextval('ir_default_id_seq') WHERE id in (SELECT distinct(pp.id) FROM product_product pp @@ -13,5 +14,6 @@ def pre_init_product_code(cr): HAVING COUNT(*)>1 )pp1 on pp.default_code=pp1.default_code or pp.default_code is NULL - or LENGTH(pp.default_code) = 0)""") + or LENGTH(pp.default_code) = 0)""" + ) return True diff --git a/product_code_unique/i18n/product_code_unique.pot b/product_code_unique/i18n/product_code_unique.pot index 4b8b11ecaf0..6934bfd6238 100644 --- a/product_code_unique/i18n/product_code_unique.pot +++ b/product_code_unique/i18n/product_code_unique.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * product_code_unique +# * product_code_unique # 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" @@ -14,7 +14,7 @@ msgstr "" "Plural-Forms: \n" #. module: product_code_unique -#: sql_constraint:product.product:0 +#: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq msgid "Internal Reference must be unique across the database!" msgstr "" @@ -22,4 +22,3 @@ msgstr "" #: model:ir.model,name:product_code_unique.model_product_product msgid "Product" msgstr "" - diff --git a/product_code_unique/models/product.py b/product_code_unique/models/product.py index 6469901f1df..46744403d12 100644 --- a/product_code_unique/models/product.py +++ b/product_code_unique/models/product.py @@ -5,8 +5,12 @@ class ProductProduct(models.Model): - _inherit = 'product.product' + _inherit = "product.product" _sql_constraints = [ - ('default_code_uniq', 'unique(default_code)', - 'Internal Reference must be unique across the database!'), ] + ( + "default_code_uniq", + "unique(default_code)", + "Internal Reference must be unique across the database!", + ) + ] diff --git a/product_code_unique/readme/CONTRIBUTORS.rst b/product_code_unique/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..4462d3a8255 --- /dev/null +++ b/product_code_unique/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Antonio Yamuta +* Raf Ven diff --git a/product_code_unique/readme/DESCRIPTION.rst b/product_code_unique/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..a9cbc2adc0d --- /dev/null +++ b/product_code_unique/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module adds a constraint on the internal reference of the product +to make it unique across the database. diff --git a/product_code_unique/readme/USAGE.rst b/product_code_unique/readme/USAGE.rst new file mode 100644 index 00000000000..932c15a487a --- /dev/null +++ b/product_code_unique/readme/USAGE.rst @@ -0,0 +1,4 @@ +* Unable to save a product when a new internal reference or default_code value is + the same with an existing record. +* A pre_init_hook process is initiated when there exist records without an internal reference(default_code). + A default value is generated to populate empty field as a temporary value. diff --git a/product_code_unique/static/description/index.html b/product_code_unique/static/description/index.html new file mode 100644 index 00000000000..d097b808590 --- /dev/null +++ b/product_code_unique/static/description/index.html @@ -0,0 +1,431 @@ + + + + + + +Unique Product Internal Reference + + + +
+

Unique Product Internal Reference

+ + +

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

+

This module adds a constraint on the internal reference of the product +to make it unique across the database.

+

Table of contents

+ +
+

Usage

+
    +
  • Unable to save a product when a new internal reference or default_code value is +the same with an existing record.
  • +
  • A pre_init_hook process is initiated when there exist records without an internal reference(default_code). +A default value is generated to populate empty field as a temporary value.
  • +
+
+
+

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

+
    +
  • Open Source Integrators
  • +
+
+ +
+

Maintainers

+

This module is maintained by the OCA.

+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/product-attribute project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/product_code_unique/tests/__init__.py b/product_code_unique/tests/__init__.py new file mode 100644 index 00000000000..424cd39e07a --- /dev/null +++ b/product_code_unique/tests/__init__.py @@ -0,0 +1 @@ +from . import test_code_unique diff --git a/product_code_unique/tests/test_code_unique.py b/product_code_unique/tests/test_code_unique.py new file mode 100644 index 00000000000..e641631f7d7 --- /dev/null +++ b/product_code_unique/tests/test_code_unique.py @@ -0,0 +1,28 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import psycopg2 + +from odoo.tests.common import SavepointCase +from odoo.tools.misc import mute_logger + + +class TestCodeUnique(SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.product_obj = cls.env["product.product"] + cls.product1 = cls.product_obj.create( + {"name": "Test Product 1", "default_code": "TSTP1"} + ) + + def test_01_check_code_other(self): + self.product2 = self.product_obj.create( + {"name": "Test Product 2", "default_code": "TSTP2"} + ) + + def test_02_check_code_unique(self): + with self.assertRaises(psycopg2.IntegrityError): + with mute_logger("odoo.sql_db"), self.cr.savepoint(): + self.product2 = self.product_obj.create( + {"name": "Test Product 2", "default_code": "TSTP1"} + ) From a393b6e7dd402212353b125ba92f73ce1b915682 Mon Sep 17 00:00:00 2001 From: Sergio Teruel Date: Tue, 4 Feb 2020 21:17:45 +0100 Subject: [PATCH 04/21] [MIG] product_supplierinfo_for_customer: Migration to v13.0 --- product_code_unique/tests/test_code_unique.py | 1 - 1 file changed, 1 deletion(-) diff --git a/product_code_unique/tests/test_code_unique.py b/product_code_unique/tests/test_code_unique.py index e641631f7d7..7e7cde93b03 100644 --- a/product_code_unique/tests/test_code_unique.py +++ b/product_code_unique/tests/test_code_unique.py @@ -1,7 +1,6 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). import psycopg2 - from odoo.tests.common import SavepointCase from odoo.tools.misc import mute_logger From ba7864b571d529725cd7d7adfb5c77823494fbce Mon Sep 17 00:00:00 2001 From: hveficent Date: Wed, 26 Feb 2020 09:01:02 +0100 Subject: [PATCH 05/21] [13.0][FIXUP] .isort.cfg --- product_code_unique/tests/test_code_unique.py | 1 + 1 file changed, 1 insertion(+) diff --git a/product_code_unique/tests/test_code_unique.py b/product_code_unique/tests/test_code_unique.py index 7e7cde93b03..e641631f7d7 100644 --- a/product_code_unique/tests/test_code_unique.py +++ b/product_code_unique/tests/test_code_unique.py @@ -1,6 +1,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). import psycopg2 + from odoo.tests.common import SavepointCase from odoo.tools.misc import mute_logger From 9c0d0a025fbce206cf7e7bf1e18a9d5a0bcf79f4 Mon Sep 17 00:00:00 2001 From: watthanun Date: Tue, 10 Nov 2020 10:26:27 +0700 Subject: [PATCH 06/21] [MIG] product_code_unique: Migration to 14.0 --- product_code_unique/README.rst | 11 ++++++----- product_code_unique/__manifest__.py | 2 +- .../i18n/product_code_unique.pot | 17 ++++++++++++++++- product_code_unique/readme/CONTRIBUTORS.rst | 1 + .../static/description/index.html | 7 ++++--- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/product_code_unique/README.rst b/product_code_unique/README.rst index 9bf3584b17d..93acae4865e 100644 --- a/product_code_unique/README.rst +++ b/product_code_unique/README.rst @@ -14,13 +14,13 @@ Unique Product Internal Reference :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github - :target: https://github.com/OCA/product-attribute/tree/13.0/product_code_unique + :target: https://github.com/OCA/product-attribute/tree/14.0/product_code_unique :alt: OCA/product-attribute .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/product-attribute-13-0/product-attribute-13-0-product_code_unique + :target: https://translation.odoo-community.org/projects/product-attribute-14-0/product-attribute-14-0-product_code_unique :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/135/13.0 + :target: https://runbot.odoo-community.org/runbot/135/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -47,7 +47,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. @@ -64,6 +64,7 @@ Contributors * Antonio Yamuta * Raf Ven +* Watthanun Khorchai Maintainers ~~~~~~~~~~~ @@ -78,6 +79,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/product-attribute `_ project on GitHub. +This module is part of the `OCA/product-attribute `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_code_unique/__manifest__.py b/product_code_unique/__manifest__.py index 68afdd0f269..989a946a482 100644 --- a/product_code_unique/__manifest__.py +++ b/product_code_unique/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Unique Product Internal Reference", "summary": "Set Product Internal Reference as Unique", - "version": "13.0.1.0.0", + "version": "14.0.1.0.0", "license": "AGPL-3", "author": "Open Source Integrators, Odoo Community Association (OCA)", "category": "Product", diff --git a/product_code_unique/i18n/product_code_unique.pot b/product_code_unique/i18n/product_code_unique.pot index 6934bfd6238..acaa5b301c0 100644 --- a/product_code_unique/i18n/product_code_unique.pot +++ b/product_code_unique/i18n/product_code_unique.pot @@ -4,7 +4,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" @@ -13,11 +13,26 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: product_code_unique +#: model:ir.model.fields,field_description:product_code_unique.field_product_product__display_name +msgid "Display Name" +msgstr "" + +#. module: product_code_unique +#: model:ir.model.fields,field_description:product_code_unique.field_product_product__id +msgid "ID" +msgstr "" + #. module: product_code_unique #: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq msgid "Internal Reference must be unique across the database!" msgstr "" +#. module: product_code_unique +#: model:ir.model.fields,field_description:product_code_unique.field_product_product____last_update +msgid "Last Modified on" +msgstr "" + #. module: product_code_unique #: model:ir.model,name:product_code_unique.model_product_product msgid "Product" diff --git a/product_code_unique/readme/CONTRIBUTORS.rst b/product_code_unique/readme/CONTRIBUTORS.rst index 4462d3a8255..c357d79e5aa 100644 --- a/product_code_unique/readme/CONTRIBUTORS.rst +++ b/product_code_unique/readme/CONTRIBUTORS.rst @@ -1,2 +1,3 @@ * Antonio Yamuta * Raf Ven +* Watthanun Khorchai diff --git a/product_code_unique/static/description/index.html b/product_code_unique/static/description/index.html index d097b808590..da3adb80dd5 100644 --- a/product_code_unique/static/description/index.html +++ b/product_code_unique/static/description/index.html @@ -367,7 +367,7 @@

Unique Product Internal Reference

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

This module adds a constraint on the internal reference of the product to make it unique across the database.

Table of contents

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

+feedback.

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

@@ -413,6 +413,7 @@

Contributors

@@ -422,7 +423,7 @@

Maintainers

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/product-attribute project on GitHub.

+

This module is part of the OCA/product-attribute project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

From 73042e8b410da3779ec27d76c6fa0eeca251dbaa Mon Sep 17 00:00:00 2001 From: Yves Le Doeuff Date: Sat, 10 Apr 2021 09:02:48 +0000 Subject: [PATCH 07/21] Added translation using Weblate (French) --- product_code_unique/i18n/fr.po | 42 +++++++++++++++++++++++++++++++ product_code_unique/i18n/fr_FR.po | 42 +++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 product_code_unique/i18n/fr.po create mode 100644 product_code_unique/i18n/fr_FR.po diff --git a/product_code_unique/i18n/fr.po b/product_code_unique/i18n/fr.po new file mode 100644 index 00000000000..9f89a690ace --- /dev/null +++ b/product_code_unique/i18n/fr.po @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_code_unique +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-04-10 11:46+0000\n" +"Last-Translator: Yves Le Doeuff \n" +"Language-Team: none\n" +"Language: fr\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" +"X-Generator: Weblate 4.3.2\n" + +#. module: product_code_unique +#: model:ir.model.fields,field_description:product_code_unique.field_product_product__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: product_code_unique +#: model:ir.model.fields,field_description:product_code_unique.field_product_product__id +msgid "ID" +msgstr "" + +#. module: product_code_unique +#: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq +msgid "Internal Reference must be unique across the database!" +msgstr "La référence interne doit être unique !" + +#. module: product_code_unique +#: model:ir.model.fields,field_description:product_code_unique.field_product_product____last_update +msgid "Last Modified on" +msgstr "Dernière modification" + +#. module: product_code_unique +#: model:ir.model,name:product_code_unique.model_product_product +msgid "Product" +msgstr "Article" diff --git a/product_code_unique/i18n/fr_FR.po b/product_code_unique/i18n/fr_FR.po new file mode 100644 index 00000000000..7c59efa45ed --- /dev/null +++ b/product_code_unique/i18n/fr_FR.po @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_code_unique +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-04-10 15:46+0000\n" +"Last-Translator: Yves Le Doeuff \n" +"Language-Team: none\n" +"Language: fr_FR\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" +"X-Generator: Weblate 4.3.2\n" + +#. module: product_code_unique +#: model:ir.model.fields,field_description:product_code_unique.field_product_product__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: product_code_unique +#: model:ir.model.fields,field_description:product_code_unique.field_product_product__id +msgid "ID" +msgstr "" + +#. module: product_code_unique +#: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq +msgid "Internal Reference must be unique across the database!" +msgstr "La référence interne doit être unique !" + +#. module: product_code_unique +#: model:ir.model.fields,field_description:product_code_unique.field_product_product____last_update +msgid "Last Modified on" +msgstr "Dernière modification" + +#. module: product_code_unique +#: model:ir.model,name:product_code_unique.model_product_product +msgid "Product" +msgstr "Article" From 4346b6ea3b3829523c6900be9dc07e8eb1ac98ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nedas=20=C5=BDilinskas?= Date: Mon, 24 Jan 2022 12:44:26 +0000 Subject: [PATCH 08/21] [MIG] product_code_unique: Migration to 15.0 --- product_code_unique/README.rst | 16 ++++++--- product_code_unique/__manifest__.py | 2 +- .../i18n/product_code_unique.pot | 17 +--------- product_code_unique/readme/CONTRIBUTORS.rst | 1 + product_code_unique/readme/ROADMAP.rst | 1 + .../static/description/index.html | 34 ++++++++++++------- product_code_unique/tests/test_code_unique.py | 4 +-- 7 files changed, 38 insertions(+), 37 deletions(-) create mode 100644 product_code_unique/readme/ROADMAP.rst diff --git a/product_code_unique/README.rst b/product_code_unique/README.rst index 93acae4865e..999b494757a 100644 --- a/product_code_unique/README.rst +++ b/product_code_unique/README.rst @@ -14,13 +14,13 @@ Unique Product Internal Reference :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github - :target: https://github.com/OCA/product-attribute/tree/14.0/product_code_unique + :target: https://github.com/OCA/product-attribute/tree/15.0/product_code_unique :alt: OCA/product-attribute .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/product-attribute-14-0/product-attribute-14-0-product_code_unique + :target: https://translation.odoo-community.org/projects/product-attribute-15-0/product-attribute-15-0-product_code_unique :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/135/14.0 + :target: https://runbot.odoo-community.org/runbot/135/15.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -41,13 +41,18 @@ Usage * A pre_init_hook process is initiated when there exist records without an internal reference(default_code). A default value is generated to populate empty field as a temporary value. +Known issues / Roadmap +====================== + +* Avoid duplicate warnings. Odoo has a warning for duplicate "Internal Reference" of its own (it doesn't block from saving). Now both warnings are displayed when trying to save a duplicate "Internal Reference". + 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. @@ -65,6 +70,7 @@ Contributors * Antonio Yamuta * Raf Ven * Watthanun Khorchai +* Nedas Žilinskas Maintainers ~~~~~~~~~~~ @@ -79,6 +85,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/product-attribute `_ project on GitHub. +This module is part of the `OCA/product-attribute `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_code_unique/__manifest__.py b/product_code_unique/__manifest__.py index 989a946a482..3fdc6425868 100644 --- a/product_code_unique/__manifest__.py +++ b/product_code_unique/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Unique Product Internal Reference", "summary": "Set Product Internal Reference as Unique", - "version": "14.0.1.0.0", + "version": "15.0.1.0.0", "license": "AGPL-3", "author": "Open Source Integrators, Odoo Community Association (OCA)", "category": "Product", diff --git a/product_code_unique/i18n/product_code_unique.pot b/product_code_unique/i18n/product_code_unique.pot index acaa5b301c0..88d3ab8cd31 100644 --- a/product_code_unique/i18n/product_code_unique.pot +++ b/product_code_unique/i18n/product_code_unique.pot @@ -4,7 +4,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" @@ -13,26 +13,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: product_code_unique -#: model:ir.model.fields,field_description:product_code_unique.field_product_product__display_name -msgid "Display Name" -msgstr "" - -#. module: product_code_unique -#: model:ir.model.fields,field_description:product_code_unique.field_product_product__id -msgid "ID" -msgstr "" - #. module: product_code_unique #: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq msgid "Internal Reference must be unique across the database!" msgstr "" -#. module: product_code_unique -#: model:ir.model.fields,field_description:product_code_unique.field_product_product____last_update -msgid "Last Modified on" -msgstr "" - #. module: product_code_unique #: model:ir.model,name:product_code_unique.model_product_product msgid "Product" diff --git a/product_code_unique/readme/CONTRIBUTORS.rst b/product_code_unique/readme/CONTRIBUTORS.rst index c357d79e5aa..8e3a64d28b5 100644 --- a/product_code_unique/readme/CONTRIBUTORS.rst +++ b/product_code_unique/readme/CONTRIBUTORS.rst @@ -1,3 +1,4 @@ * Antonio Yamuta * Raf Ven * Watthanun Khorchai +* Nedas Žilinskas diff --git a/product_code_unique/readme/ROADMAP.rst b/product_code_unique/readme/ROADMAP.rst new file mode 100644 index 00000000000..66b1180936c --- /dev/null +++ b/product_code_unique/readme/ROADMAP.rst @@ -0,0 +1 @@ +* Avoid duplicate warnings. Odoo has a warning for duplicate "Internal Reference" of its own (it doesn't block from saving). Now both warnings are displayed when trying to save a duplicate "Internal Reference". diff --git a/product_code_unique/static/description/index.html b/product_code_unique/static/description/index.html index da3adb80dd5..30438f34fb3 100644 --- a/product_code_unique/static/description/index.html +++ b/product_code_unique/static/description/index.html @@ -367,18 +367,19 @@

Unique Product Internal Reference

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

This module adds a constraint on the internal reference of the product to make it unique across the database.

Table of contents

+
+

Known issues / Roadmap

+
    +
  • Avoid duplicate warnings. Odoo has a warning for duplicate “Internal Reference” of its own (it doesn’t block from saving). Now both warnings are displayed when trying to save a duplicate “Internal Reference”.
  • +
+
-

Bug Tracker

+

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.

-

Credits

+

Credits

-

Authors

+

Authors

  • Open Source Integrators
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

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/product-attribute project on GitHub.

+

This module is part of the OCA/product-attribute project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/product_code_unique/tests/test_code_unique.py b/product_code_unique/tests/test_code_unique.py index e641631f7d7..e90c168e4ed 100644 --- a/product_code_unique/tests/test_code_unique.py +++ b/product_code_unique/tests/test_code_unique.py @@ -2,11 +2,11 @@ import psycopg2 -from odoo.tests.common import SavepointCase +from odoo.tests.common import TransactionCase from odoo.tools.misc import mute_logger -class TestCodeUnique(SavepointCase): +class TestCodeUnique(TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() From e3dbf770b93004643103472e0ac609a0b32bee34 Mon Sep 17 00:00:00 2001 From: pablontura Date: Fri, 22 Apr 2022 08:13:48 +0000 Subject: [PATCH 09/21] Added translation using Weblate (Catalan) --- product_code_unique/i18n/ca.po | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 product_code_unique/i18n/ca.po diff --git a/product_code_unique/i18n/ca.po b/product_code_unique/i18n/ca.po new file mode 100644 index 00000000000..06261c146af --- /dev/null +++ b/product_code_unique/i18n/ca.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_code_unique +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-04-22 10:05+0000\n" +"Last-Translator: pablontura \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" +"X-Generator: Weblate 4.3.2\n" + +#. module: product_code_unique +#: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq +msgid "Internal Reference must be unique across the database!" +msgstr "La referència interna ha de ser única a tota la base de dades!" + +#. module: product_code_unique +#: model:ir.model,name:product_code_unique.model_product_product +msgid "Product" +msgstr "Producte" From 4ad3b98c8018981a7b1507e77028ae13e77cb265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Est=C3=A9banez?= Date: Thu, 28 Apr 2022 12:19:50 +0000 Subject: [PATCH 10/21] Added translation using Weblate (German) --- product_code_unique/i18n/de.po | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 product_code_unique/i18n/de.po diff --git a/product_code_unique/i18n/de.po b/product_code_unique/i18n/de.po new file mode 100644 index 00000000000..521c7707942 --- /dev/null +++ b/product_code_unique/i18n/de.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_code_unique +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-04-28 15:05+0000\n" +"Last-Translator: Álvaro Estébanez \n" +"Language-Team: none\n" +"Language: de\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" +"X-Generator: Weblate 4.3.2\n" + +#. module: product_code_unique +#: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq +msgid "Internal Reference must be unique across the database!" +msgstr "" +"Die Interne Referenz muss eindeutig sein, Duplikate sind nicht zugelassen!" + +#. module: product_code_unique +#: model:ir.model,name:product_code_unique.model_product_product +msgid "Product" +msgstr "Produkt" From a721b0eebac0306b497f37d50dc9ff789747dd2e Mon Sep 17 00:00:00 2001 From: mle Date: Wed, 21 Sep 2022 10:43:39 +0200 Subject: [PATCH 11/21] [MIG] product_code_unique: Migration to 16.0 --- product_code_unique/README.rst | 10 +++++----- product_code_unique/__manifest__.py | 2 +- product_code_unique/i18n/ca.po | 2 +- product_code_unique/i18n/de.po | 2 +- product_code_unique/i18n/product_code_unique.pot | 4 ++-- product_code_unique/static/description/index.html | 6 +++--- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/product_code_unique/README.rst b/product_code_unique/README.rst index 999b494757a..017f56b2315 100644 --- a/product_code_unique/README.rst +++ b/product_code_unique/README.rst @@ -14,13 +14,13 @@ Unique Product Internal Reference :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github - :target: https://github.com/OCA/product-attribute/tree/15.0/product_code_unique + :target: https://github.com/OCA/product-attribute/tree/16.0/product_code_unique :alt: OCA/product-attribute .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/product-attribute-15-0/product-attribute-15-0-product_code_unique + :target: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-product_code_unique :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/135/15.0 + :target: https://runbot.odoo-community.org/runbot/135/16.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -52,7 +52,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. @@ -85,6 +85,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/product-attribute `_ project on GitHub. +This module is part of the `OCA/product-attribute `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_code_unique/__manifest__.py b/product_code_unique/__manifest__.py index 3fdc6425868..547a3db6b10 100644 --- a/product_code_unique/__manifest__.py +++ b/product_code_unique/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Unique Product Internal Reference", "summary": "Set Product Internal Reference as Unique", - "version": "15.0.1.0.0", + "version": "16.0.1.0.0", "license": "AGPL-3", "author": "Open Source Integrators, Odoo Community Association (OCA)", "category": "Product", diff --git a/product_code_unique/i18n/ca.po b/product_code_unique/i18n/ca.po index 06261c146af..199ff1d01de 100644 --- a/product_code_unique/i18n/ca.po +++ b/product_code_unique/i18n/ca.po @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 15.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "PO-Revision-Date: 2022-04-22 10:05+0000\n" "Last-Translator: pablontura \n" diff --git a/product_code_unique/i18n/de.po b/product_code_unique/i18n/de.po index 521c7707942..6ceb1cbf6d4 100644 --- a/product_code_unique/i18n/de.po +++ b/product_code_unique/i18n/de.po @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 15.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "PO-Revision-Date: 2022-04-28 15:05+0000\n" "Last-Translator: Álvaro Estébanez \n" diff --git a/product_code_unique/i18n/product_code_unique.pot b/product_code_unique/i18n/product_code_unique.pot index 88d3ab8cd31..6bbc44fae91 100644 --- a/product_code_unique/i18n/product_code_unique.pot +++ b/product_code_unique/i18n/product_code_unique.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 15.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -20,5 +20,5 @@ msgstr "" #. module: product_code_unique #: model:ir.model,name:product_code_unique.model_product_product -msgid "Product" +msgid "Product Variant" msgstr "" diff --git a/product_code_unique/static/description/index.html b/product_code_unique/static/description/index.html index 30438f34fb3..51c4bc4803e 100644 --- a/product_code_unique/static/description/index.html +++ b/product_code_unique/static/description/index.html @@ -367,7 +367,7 @@

Unique Product Internal Reference

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

This module adds a constraint on the internal reference of the product to make it unique across the database.

Table of contents

@@ -404,7 +404,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.

@@ -431,7 +431,7 @@

Maintainers

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/product-attribute project on GitHub.

+

This module is part of the OCA/product-attribute project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

From c9f5dbb92f64e8e127dbf0bb345365b065e1a5d9 Mon Sep 17 00:00:00 2001 From: Weblate Date: Wed, 19 Oct 2022 11:18:02 +0000 Subject: [PATCH 12/21] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: product-attribute-16.0/product-attribute-16.0-product_code_unique Translate-URL: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-product_code_unique/ --- product_code_unique/i18n/ca.po | 7 +++++-- product_code_unique/i18n/de.po | 7 +++++-- product_code_unique/i18n/fr.po | 28 +++++++++++----------------- product_code_unique/i18n/fr_FR.po | 28 +++++++++++----------------- 4 files changed, 32 insertions(+), 38 deletions(-) diff --git a/product_code_unique/i18n/ca.po b/product_code_unique/i18n/ca.po index 199ff1d01de..137b1919407 100644 --- a/product_code_unique/i18n/ca.po +++ b/product_code_unique/i18n/ca.po @@ -23,5 +23,8 @@ msgstr "La referència interna ha de ser única a tota la base de dades!" #. module: product_code_unique #: model:ir.model,name:product_code_unique.model_product_product -msgid "Product" -msgstr "Producte" +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Producte" diff --git a/product_code_unique/i18n/de.po b/product_code_unique/i18n/de.po index 6ceb1cbf6d4..60e734198b9 100644 --- a/product_code_unique/i18n/de.po +++ b/product_code_unique/i18n/de.po @@ -24,5 +24,8 @@ msgstr "" #. module: product_code_unique #: model:ir.model,name:product_code_unique.model_product_product -msgid "Product" -msgstr "Produkt" +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produkt" diff --git a/product_code_unique/i18n/fr.po b/product_code_unique/i18n/fr.po index 9f89a690ace..f4e089a464a 100644 --- a/product_code_unique/i18n/fr.po +++ b/product_code_unique/i18n/fr.po @@ -16,27 +16,21 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.3.2\n" -#. module: product_code_unique -#: model:ir.model.fields,field_description:product_code_unique.field_product_product__display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: product_code_unique -#: model:ir.model.fields,field_description:product_code_unique.field_product_product__id -msgid "ID" -msgstr "" - #. module: product_code_unique #: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq msgid "Internal Reference must be unique across the database!" msgstr "La référence interne doit être unique !" -#. module: product_code_unique -#: model:ir.model.fields,field_description:product_code_unique.field_product_product____last_update -msgid "Last Modified on" -msgstr "Dernière modification" - #. module: product_code_unique #: model:ir.model,name:product_code_unique.model_product_product -msgid "Product" -msgstr "Article" +msgid "Product Variant" +msgstr "" + +#~ msgid "Display Name" +#~ msgstr "Nom affiché" + +#~ msgid "Last Modified on" +#~ msgstr "Dernière modification" + +#~ msgid "Product" +#~ msgstr "Article" diff --git a/product_code_unique/i18n/fr_FR.po b/product_code_unique/i18n/fr_FR.po index 7c59efa45ed..a80b46051d4 100644 --- a/product_code_unique/i18n/fr_FR.po +++ b/product_code_unique/i18n/fr_FR.po @@ -16,27 +16,21 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.3.2\n" -#. module: product_code_unique -#: model:ir.model.fields,field_description:product_code_unique.field_product_product__display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: product_code_unique -#: model:ir.model.fields,field_description:product_code_unique.field_product_product__id -msgid "ID" -msgstr "" - #. module: product_code_unique #: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq msgid "Internal Reference must be unique across the database!" msgstr "La référence interne doit être unique !" -#. module: product_code_unique -#: model:ir.model.fields,field_description:product_code_unique.field_product_product____last_update -msgid "Last Modified on" -msgstr "Dernière modification" - #. module: product_code_unique #: model:ir.model,name:product_code_unique.model_product_product -msgid "Product" -msgstr "Article" +msgid "Product Variant" +msgstr "" + +#~ msgid "Display Name" +#~ msgstr "Nom affiché" + +#~ msgid "Last Modified on" +#~ msgstr "Dernière modification" + +#~ msgid "Product" +#~ msgstr "Article" From 347e1bce86da5525e81c3f4808f5b70a96132d48 Mon Sep 17 00:00:00 2001 From: Maria Sparenberg Date: Fri, 4 Nov 2022 12:11:57 +0000 Subject: [PATCH 13/21] Translated using Weblate (German) Currently translated at 100.0% (2 of 2 strings) Translation: product-attribute-16.0/product-attribute-16.0-product_code_unique Translate-URL: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-product_code_unique/de/ --- product_code_unique/i18n/de.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/product_code_unique/i18n/de.po b/product_code_unique/i18n/de.po index 60e734198b9..ff5acb7de06 100644 --- a/product_code_unique/i18n/de.po +++ b/product_code_unique/i18n/de.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2022-04-28 15:05+0000\n" -"Last-Translator: Álvaro Estébanez \n" +"PO-Revision-Date: 2022-11-04 14:44+0000\n" +"Last-Translator: Maria Sparenberg \n" "Language-Team: none\n" "Language: de\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" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Weblate 4.14.1\n" #. module: product_code_unique #: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq @@ -25,7 +25,7 @@ msgstr "" #. module: product_code_unique #: model:ir.model,name:product_code_unique.model_product_product msgid "Product Variant" -msgstr "" +msgstr "Produktvariante" #~ msgid "Product" #~ msgstr "Produkt" From 695df0bc2f2c245c0ce9d0d806ef8c5ee4cab082 Mon Sep 17 00:00:00 2001 From: Sebastiano Picchi Date: Thu, 27 Apr 2023 09:49:07 +0000 Subject: [PATCH 14/21] Added translation using Weblate (Italian) --- product_code_unique/i18n/it.po | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 product_code_unique/i18n/it.po diff --git a/product_code_unique/i18n/it.po b/product_code_unique/i18n/it.po new file mode 100644 index 00000000000..a2b669f3e99 --- /dev/null +++ b/product_code_unique/i18n/it.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_code_unique +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-04-27 10:06+0000\n" +"Last-Translator: Sebastiano Picchi \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" +"X-Generator: Weblate 4.14.1\n" + +#. module: product_code_unique +#: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq +msgid "Internal Reference must be unique across the database!" +msgstr "Il riferimento interno deve essere unico in tutti il database!" + +#. module: product_code_unique +#: model:ir.model,name:product_code_unique.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" From 8ad89ef16196f50a17d946352ac25e7266d53907 Mon Sep 17 00:00:00 2001 From: Pedro Castro Silva Date: Wed, 12 Jul 2023 21:27:40 +0000 Subject: [PATCH 15/21] Added translation using Weblate (Portuguese) --- product_code_unique/README.rst | 15 ++++--- product_code_unique/i18n/pt.po | 27 ++++++++++++ .../static/description/index.html | 42 ++++++++++--------- 3 files changed, 58 insertions(+), 26 deletions(-) create mode 100644 product_code_unique/i18n/pt.po diff --git a/product_code_unique/README.rst b/product_code_unique/README.rst index 017f56b2315..ef4ea08d94a 100644 --- a/product_code_unique/README.rst +++ b/product_code_unique/README.rst @@ -2,10 +2,13 @@ Unique Product Internal Reference ================================= -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4a4cc9ef73a7dd17a2564b4c82ecbc08e787afcb2ca8779ed357dc38b2a7f792 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Unique Product Internal Reference .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/product-attribute-16-0/product-attribute-16-0-product_code_unique :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/135/16.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/product-attribute&target_branch=16.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module adds a constraint on the internal reference of the product to make it unique across the database. @@ -51,7 +54,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 +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. diff --git a/product_code_unique/i18n/pt.po b/product_code_unique/i18n/pt.po new file mode 100644 index 00000000000..8099bbc77e9 --- /dev/null +++ b/product_code_unique/i18n/pt.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_code_unique +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-07-13 00:11+0000\n" +"Last-Translator: Pedro Castro Silva \n" +"Language-Team: none\n" +"Language: pt\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" +"X-Generator: Weblate 4.17\n" + +#. module: product_code_unique +#: model:ir.model.constraint,message:product_code_unique.constraint_product_product_default_code_uniq +msgid "Internal Reference must be unique across the database!" +msgstr "A Referência Interna tem que ser única na base de dados!" + +#. module: product_code_unique +#: model:ir.model,name:product_code_unique.model_product_product +msgid "Product Variant" +msgstr "Variante de Produto" diff --git a/product_code_unique/static/description/index.html b/product_code_unique/static/description/index.html index 51c4bc4803e..caa7921e58b 100644 --- a/product_code_unique/static/description/index.html +++ b/product_code_unique/static/description/index.html @@ -1,20 +1,20 @@ - + - + Unique Product Internal Reference