From 64e65643ff96dc3e73c199799a3454ae81bc2a53 Mon Sep 17 00:00:00 2001 From: Ernesto Tejeda Date: Tue, 6 Apr 2021 09:56:01 -0400 Subject: [PATCH 1/5] [ADD] edi_voxel_sale_secondary_unit: new module --- edi_voxel_sale_secondary_unit/README.rst | 102 ++++ edi_voxel_sale_secondary_unit/__init__.py | 3 + edi_voxel_sale_secondary_unit/__manifest__.py | 18 + .../models/__init__.py | 3 + .../models/sale_order.py | 23 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 12 + .../readme/USAGE.rst | 3 + .../static/description/index.html | 443 ++++++++++++++++++ .../tests/__init__.py | 3 + .../test_edi_voxel_sale_secondary_unit.py | 42 ++ 11 files changed, 656 insertions(+) create mode 100644 edi_voxel_sale_secondary_unit/README.rst create mode 100644 edi_voxel_sale_secondary_unit/__init__.py create mode 100644 edi_voxel_sale_secondary_unit/__manifest__.py create mode 100644 edi_voxel_sale_secondary_unit/models/__init__.py create mode 100644 edi_voxel_sale_secondary_unit/models/sale_order.py create mode 100644 edi_voxel_sale_secondary_unit/readme/CONTRIBUTORS.rst create mode 100644 edi_voxel_sale_secondary_unit/readme/DESCRIPTION.rst create mode 100644 edi_voxel_sale_secondary_unit/readme/USAGE.rst create mode 100644 edi_voxel_sale_secondary_unit/static/description/index.html create mode 100644 edi_voxel_sale_secondary_unit/tests/__init__.py create mode 100644 edi_voxel_sale_secondary_unit/tests/test_edi_voxel_sale_secondary_unit.py diff --git a/edi_voxel_sale_secondary_unit/README.rst b/edi_voxel_sale_secondary_unit/README.rst new file mode 100644 index 0000000000..46533342c5 --- /dev/null +++ b/edi_voxel_sale_secondary_unit/README.rst @@ -0,0 +1,102 @@ +============================= +Edi Voxel Sale Secondary Unit +============================= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-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%2Fedi-lightgray.png?logo=github + :target: https://github.com/OCA/edi/tree/13.0/edi_voxel_sale_secondary_unit + :alt: OCA/edi +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/edi-13-0/edi-13-0-edi_voxel_sale_secondary_unit + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/226/13.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of 'Voxel sale order' module +to match secondary units of measure instead of standard units of measure +during sale order import process. + +During the process of a sales order import from voxel, for each sales +order line, the following flow is followed: + +* If there is a matching 'secondary unit of measure', this is set and + the imported qty is set as 'secondary qty'. Based on these data, the + standard 'unit of measure' and 'quantity' are computed. +* If there is no matching 'secondary unit of measure', standard quantity + and the matching standard unit of measure are set. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you don't need to do anything. The import process is +the same as in the 'Voxel sale order' module. the only thing that can +change is the imported sales order data. + +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 +~~~~~~~~~~~~ + +* `Tecnativa `_: + + * Ernesto Tejeda + * Pedro M. Baeza + +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. + +.. |maintainer-ernestotejeda| image:: https://github.com/ernestotejeda.png?size=40px + :target: https://github.com/ernestotejeda + :alt: ernestotejeda + +Current `maintainer `__: + +|maintainer-ernestotejeda| + +This module is part of the `OCA/edi `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/edi_voxel_sale_secondary_unit/__init__.py b/edi_voxel_sale_secondary_unit/__init__.py new file mode 100644 index 0000000000..31660d6a96 --- /dev/null +++ b/edi_voxel_sale_secondary_unit/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import models diff --git a/edi_voxel_sale_secondary_unit/__manifest__.py b/edi_voxel_sale_secondary_unit/__manifest__.py new file mode 100644 index 0000000000..9981e3005d --- /dev/null +++ b/edi_voxel_sale_secondary_unit/__manifest__.py @@ -0,0 +1,18 @@ +# Copyright 2021 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Edi Voxel Sale Secondary Unit", + "summary": "Map Voxel UoM to Sale Secondary UoM and Use Them", + "version": "13.0.1.0.0", + "development_status": "Production/Stable", + "category": "Sale", + "website": "https://github.com/OCA/edi", + "author": "Tecnativa, Odoo Community Association (OCA)", + "maintainers": ["ernestotejeda"], + "license": "AGPL-3", + "depends": [ + "edi_voxel_secondary_unit", + "sale_order_secondary_unit", + "edi_voxel_sale_order_import", + ], +} diff --git a/edi_voxel_sale_secondary_unit/models/__init__.py b/edi_voxel_sale_secondary_unit/models/__init__.py new file mode 100644 index 0000000000..cbd69320b0 --- /dev/null +++ b/edi_voxel_sale_secondary_unit/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import sale_order diff --git a/edi_voxel_sale_secondary_unit/models/sale_order.py b/edi_voxel_sale_secondary_unit/models/sale_order.py new file mode 100644 index 0000000000..2cf5dfd77c --- /dev/null +++ b/edi_voxel_sale_secondary_unit/models/sale_order.py @@ -0,0 +1,23 @@ +# Copyright 2021 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import models + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + def _parse_qty_uom_voxel(self, line_vals, line_element): + """ Override to use secondary unit instead standard UoM """ + product_data = line_element.attrib + product_id = line_vals.get("product_id") + product = self.env["product.product"].browse(product_id) + qty = float(product_data.get("Qty", "1")) + mu = product_data.get("MU") + secondary_uom = product.secondary_uom_ids.filtered(lambda r: r.voxel_code == mu) + if secondary_uom: + line_vals.update( + secondary_uom_qty=qty, secondary_uom_id=secondary_uom[0].id + ) + else: + super()._parse_qty_uom_voxel(line_vals, line_element) diff --git a/edi_voxel_sale_secondary_unit/readme/CONTRIBUTORS.rst b/edi_voxel_sale_secondary_unit/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..b31cef3217 --- /dev/null +++ b/edi_voxel_sale_secondary_unit/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* `Tecnativa `_: + + * Ernesto Tejeda + * Pedro M. Baeza diff --git a/edi_voxel_sale_secondary_unit/readme/DESCRIPTION.rst b/edi_voxel_sale_secondary_unit/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..f78cd89614 --- /dev/null +++ b/edi_voxel_sale_secondary_unit/readme/DESCRIPTION.rst @@ -0,0 +1,12 @@ +This module extends the functionality of 'Voxel sale order' module +to match secondary units of measure instead of standard units of measure +during sale order import process. + +During the process of a sales order import from voxel, for each sales +order line, the following flow is followed: + +* If there is a matching 'secondary unit of measure', this is set and + the imported qty is set as 'secondary qty'. Based on these data, the + standard 'unit of measure' and 'quantity' are computed. +* If there is no matching 'secondary unit of measure', standard quantity + and the matching standard unit of measure are set. diff --git a/edi_voxel_sale_secondary_unit/readme/USAGE.rst b/edi_voxel_sale_secondary_unit/readme/USAGE.rst new file mode 100644 index 0000000000..e7bee24641 --- /dev/null +++ b/edi_voxel_sale_secondary_unit/readme/USAGE.rst @@ -0,0 +1,3 @@ +To use this module, you don't need to do anything. The import process is +the same as in the 'Voxel sale order' module. the only thing that can +change is the imported sales order data. diff --git a/edi_voxel_sale_secondary_unit/static/description/index.html b/edi_voxel_sale_secondary_unit/static/description/index.html new file mode 100644 index 0000000000..2dad36d4c0 --- /dev/null +++ b/edi_voxel_sale_secondary_unit/static/description/index.html @@ -0,0 +1,443 @@ + + + + + + +Edi Voxel Sale Secondary Unit + + + +
+

Edi Voxel Sale Secondary Unit

+ + +

Production/Stable License: AGPL-3 OCA/edi Translate me on Weblate Try me on Runbot

+

This module extends the functionality of ‘Voxel sale order’ module +to match secondary units of measure instead of standard units of measure +during sale order import process.

+

During the process of a sales order import from voxel, for each sales +order line, the following flow is followed:

+
    +
  • If there is a matching ‘secondary unit of measure’, this is set and +the imported qty is set as ‘secondary qty’. Based on these data, the +standard ‘unit of measure’ and ‘quantity’ are computed.
  • +
  • If there is no matching ‘secondary unit of measure’, standard quantity +and the matching standard unit of measure are set.
  • +
+

Table of contents

+ +
+

Usage

+

To use this module, you don’t need to do anything. The import process is +the same as in the ‘Voxel sale order’ module. the only thing that can +change is the imported sales order data.

+
+
+

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

+
    +
  • Tecnativa:
      +
    • Ernesto Tejeda
    • +
    • Pedro M. Baeza
    • +
    +
  • +
+
+
+

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.

+

Current maintainer:

+

ernestotejeda

+

This module is part of the OCA/edi project on GitHub.

+

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

+
+
+
+ + diff --git a/edi_voxel_sale_secondary_unit/tests/__init__.py b/edi_voxel_sale_secondary_unit/tests/__init__.py new file mode 100644 index 0000000000..5ce75fa92f --- /dev/null +++ b/edi_voxel_sale_secondary_unit/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_edi_voxel_sale_secondary_unit diff --git a/edi_voxel_sale_secondary_unit/tests/test_edi_voxel_sale_secondary_unit.py b/edi_voxel_sale_secondary_unit/tests/test_edi_voxel_sale_secondary_unit.py new file mode 100644 index 0000000000..2e4cac6d4a --- /dev/null +++ b/edi_voxel_sale_secondary_unit/tests/test_edi_voxel_sale_secondary_unit.py @@ -0,0 +1,42 @@ +# Copyright 2019 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.addons.edi_voxel_sale_order_import.tests.test_voxel_sale_order_import import ( + TestVoxelSaleOrderImportCommon, +) + + +class TestVoxelSaleSecondaryUnit(TestVoxelSaleOrderImportCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + # Secondary UoM Boxes (for defined cls.product_test_1 product) + # mapped to 'Cajas' voxel code, so that when importing it is set + # in 'order line 1' instead of 'Boxes' standard UoM ('uom.uom') + cls.boxes_secondary_uom = cls.env["product.secondary.unit"].create( + { + "product_tmpl_id": cls.product_test_1.product_tmpl_id.id, + "name": "Boxes", + "code": "Boxes", + "voxel_code": "Cajas", + "uom_id": cls.env.ref("uom.product_uom_unit").id, + "factor": 20, + } + ) + + def test_create_document_from_xml(self): + sale_order = self._create_document_from_test_file() + # roduct_uom_qty of the first order line is 40 instead of 1, + # because the secondary UoM 'Boxes' is matched and set, so + # 'Secondary Qty' is also 2. + so_line = sale_order.order_line[0] + self.assertEqual(so_line.secondary_uom_id, self.boxes_secondary_uom) + self.assertEqual(so_line.secondary_uom_qty, 2) + self.assertEqual(so_line.product_uom, self.env.ref("uom.product_uom_unit")) + self.assertEqual(so_line.product_uom_qty, 40) + # Assert there is no Secondary UoM matched, so it is False + so_line = sale_order.order_line[1] + self.assertFalse(so_line.secondary_uom_id) + self.assertEqual(so_line.secondary_uom_qty, 0.0) + self.assertEqual(so_line.product_uom, self.env.ref("uom.product_uom_unit")) + self.assertEqual(so_line.product_uom_qty, 2) From 733273bc1264e486769aba75b4079cc843aa062d Mon Sep 17 00:00:00 2001 From: oca-travis Date: Mon, 10 May 2021 09:28:55 +0000 Subject: [PATCH 2/5] [UPD] Update edi_voxel_sale_secondary_unit.pot --- .../i18n/edi_voxel_sale_secondary_unit.pot | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 edi_voxel_sale_secondary_unit/i18n/edi_voxel_sale_secondary_unit.pot diff --git a/edi_voxel_sale_secondary_unit/i18n/edi_voxel_sale_secondary_unit.pot b/edi_voxel_sale_secondary_unit/i18n/edi_voxel_sale_secondary_unit.pot new file mode 100644 index 0000000000..2438a9eb44 --- /dev/null +++ b/edi_voxel_sale_secondary_unit/i18n/edi_voxel_sale_secondary_unit.pot @@ -0,0 +1,19 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * edi_voxel_sale_secondary_unit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.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: edi_voxel_sale_secondary_unit +#: model:ir.model,name:edi_voxel_sale_secondary_unit.model_sale_order +msgid "Sales Order" +msgstr "" From 354ff5d3efa2393821d08f34a44ef54ea4b8b8ce Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 10 May 2021 09:45:02 +0000 Subject: [PATCH 3/5] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 edi_voxel_sale_secondary_unit/static/description/icon.png diff --git a/edi_voxel_sale_secondary_unit/static/description/icon.png b/edi_voxel_sale_secondary_unit/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 fed56286216ba731898691910a0ef05506d1175a Mon Sep 17 00:00:00 2001 From: sergio-teruel Date: Thu, 3 Nov 2022 00:10:15 +0100 Subject: [PATCH 4/5] [IMP] edi_voxel_sale_secondary_unit: black, isort --- edi_voxel_sale_secondary_unit/models/sale_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edi_voxel_sale_secondary_unit/models/sale_order.py b/edi_voxel_sale_secondary_unit/models/sale_order.py index 2cf5dfd77c..d2b5ceec4e 100644 --- a/edi_voxel_sale_secondary_unit/models/sale_order.py +++ b/edi_voxel_sale_secondary_unit/models/sale_order.py @@ -8,7 +8,7 @@ class SaleOrder(models.Model): _inherit = "sale.order" def _parse_qty_uom_voxel(self, line_vals, line_element): - """ Override to use secondary unit instead standard UoM """ + """Override to use secondary unit instead standard UoM""" product_data = line_element.attrib product_id = line_vals.get("product_id") product = self.env["product.product"].browse(product_id) From 409258e9e518cccd3c3ef5de7c509bb14c3a0799 Mon Sep 17 00:00:00 2001 From: sergio-teruel Date: Thu, 3 Nov 2022 00:10:16 +0100 Subject: [PATCH 5/5] [MIG] edi_voxel_sale_secondary_unit: Migration to v15.0 --- .../README.rst | 17 +++++++++-------- .../__init__.py | 0 .../__manifest__.py | 8 ++++---- .../i18n/edi_voxel_sale_secondary_unit.pot | 6 +++--- .../models/__init__.py | 0 .../models/sale_order.py | 2 +- .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 0 .../readme/USAGE.rst | 0 .../static/description/icon.png | Bin .../static/description/index.html | 13 +++++++------ .../tests/__init__.py | 0 .../test_edi_voxel_sale_secondary_unit.py | 2 +- .../addons/edi_voxel_sale_secondary_unit_oca | 1 + .../edi_voxel_sale_secondary_unit_oca/setup.py | 6 ++++++ 15 files changed, 33 insertions(+), 23 deletions(-) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/README.rst (85%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/__init__.py (100%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/__manifest__.py (74%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/i18n/edi_voxel_sale_secondary_unit.pot (70%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/models/__init__.py (100%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/models/sale_order.py (91%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/readme/CONTRIBUTORS.rst (82%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/readme/DESCRIPTION.rst (100%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/readme/USAGE.rst (100%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/static/description/icon.png (100%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/static/description/index.html (91%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/tests/__init__.py (100%) rename {edi_voxel_sale_secondary_unit => edi_voxel_sale_secondary_unit_oca}/tests/test_edi_voxel_sale_secondary_unit.py (95%) create mode 120000 setup/edi_voxel_sale_secondary_unit_oca/odoo/addons/edi_voxel_sale_secondary_unit_oca create mode 100644 setup/edi_voxel_sale_secondary_unit_oca/setup.py diff --git a/edi_voxel_sale_secondary_unit/README.rst b/edi_voxel_sale_secondary_unit_oca/README.rst similarity index 85% rename from edi_voxel_sale_secondary_unit/README.rst rename to edi_voxel_sale_secondary_unit_oca/README.rst index 46533342c5..5346301339 100644 --- a/edi_voxel_sale_secondary_unit/README.rst +++ b/edi_voxel_sale_secondary_unit_oca/README.rst @@ -1,6 +1,6 @@ -============================= -Edi Voxel Sale Secondary Unit -============================= +================================= +Edi Voxel Sale Secondary Unit Oca +================================= .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! @@ -14,13 +14,13 @@ Edi Voxel Sale Secondary Unit :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github - :target: https://github.com/OCA/edi/tree/13.0/edi_voxel_sale_secondary_unit + :target: https://github.com/OCA/edi/tree/15.0/edi_voxel_sale_secondary_unit_oca :alt: OCA/edi .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/edi-13-0/edi-13-0-edi_voxel_sale_secondary_unit + :target: https://translation.odoo-community.org/projects/edi-15-0/edi-15-0-edi_voxel_sale_secondary_unit_oca :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/226/13.0 + :target: https://runbot.odoo-community.org/runbot/226/15.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -56,7 +56,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. @@ -75,6 +75,7 @@ Contributors * Ernesto Tejeda * Pedro M. Baeza + * Sergio Teruel Maintainers ~~~~~~~~~~~ @@ -97,6 +98,6 @@ Current `maintainer `__: |maintainer-ernestotejeda| -This module is part of the `OCA/edi `_ project on GitHub. +This module is part of the `OCA/edi `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/edi_voxel_sale_secondary_unit/__init__.py b/edi_voxel_sale_secondary_unit_oca/__init__.py similarity index 100% rename from edi_voxel_sale_secondary_unit/__init__.py rename to edi_voxel_sale_secondary_unit_oca/__init__.py diff --git a/edi_voxel_sale_secondary_unit/__manifest__.py b/edi_voxel_sale_secondary_unit_oca/__manifest__.py similarity index 74% rename from edi_voxel_sale_secondary_unit/__manifest__.py rename to edi_voxel_sale_secondary_unit_oca/__manifest__.py index 9981e3005d..4cf589209b 100644 --- a/edi_voxel_sale_secondary_unit/__manifest__.py +++ b/edi_voxel_sale_secondary_unit_oca/__manifest__.py @@ -1,9 +1,9 @@ # Copyright 2021 Tecnativa - Ernesto Tejeda # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { - "name": "Edi Voxel Sale Secondary Unit", + "name": "Edi Voxel Sale Secondary Unit Oca", "summary": "Map Voxel UoM to Sale Secondary UoM and Use Them", - "version": "13.0.1.0.0", + "version": "15.0.1.0.0", "development_status": "Production/Stable", "category": "Sale", "website": "https://github.com/OCA/edi", @@ -11,8 +11,8 @@ "maintainers": ["ernestotejeda"], "license": "AGPL-3", "depends": [ - "edi_voxel_secondary_unit", + "edi_voxel_secondary_unit_oca", "sale_order_secondary_unit", - "edi_voxel_sale_order_import", + "edi_voxel_sale_order_import_oca", ], } diff --git a/edi_voxel_sale_secondary_unit/i18n/edi_voxel_sale_secondary_unit.pot b/edi_voxel_sale_secondary_unit_oca/i18n/edi_voxel_sale_secondary_unit.pot similarity index 70% rename from edi_voxel_sale_secondary_unit/i18n/edi_voxel_sale_secondary_unit.pot rename to edi_voxel_sale_secondary_unit_oca/i18n/edi_voxel_sale_secondary_unit.pot index 2438a9eb44..d7c3877976 100644 --- a/edi_voxel_sale_secondary_unit/i18n/edi_voxel_sale_secondary_unit.pot +++ b/edi_voxel_sale_secondary_unit_oca/i18n/edi_voxel_sale_secondary_unit.pot @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * edi_voxel_sale_secondary_unit +# * edi_voxel_sale_secondary_unit_oca # msgid "" msgstr "" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: edi_voxel_sale_secondary_unit -#: model:ir.model,name:edi_voxel_sale_secondary_unit.model_sale_order +#. module: edi_voxel_sale_secondary_unit_oca +#: model:ir.model,name:edi_voxel_sale_secondary_unit_oca.model_sale_order msgid "Sales Order" msgstr "" diff --git a/edi_voxel_sale_secondary_unit/models/__init__.py b/edi_voxel_sale_secondary_unit_oca/models/__init__.py similarity index 100% rename from edi_voxel_sale_secondary_unit/models/__init__.py rename to edi_voxel_sale_secondary_unit_oca/models/__init__.py diff --git a/edi_voxel_sale_secondary_unit/models/sale_order.py b/edi_voxel_sale_secondary_unit_oca/models/sale_order.py similarity index 91% rename from edi_voxel_sale_secondary_unit/models/sale_order.py rename to edi_voxel_sale_secondary_unit_oca/models/sale_order.py index d2b5ceec4e..c17ae550c5 100644 --- a/edi_voxel_sale_secondary_unit/models/sale_order.py +++ b/edi_voxel_sale_secondary_unit_oca/models/sale_order.py @@ -20,4 +20,4 @@ def _parse_qty_uom_voxel(self, line_vals, line_element): secondary_uom_qty=qty, secondary_uom_id=secondary_uom[0].id ) else: - super()._parse_qty_uom_voxel(line_vals, line_element) + return super()._parse_qty_uom_voxel(line_vals, line_element) diff --git a/edi_voxel_sale_secondary_unit/readme/CONTRIBUTORS.rst b/edi_voxel_sale_secondary_unit_oca/readme/CONTRIBUTORS.rst similarity index 82% rename from edi_voxel_sale_secondary_unit/readme/CONTRIBUTORS.rst rename to edi_voxel_sale_secondary_unit_oca/readme/CONTRIBUTORS.rst index b31cef3217..0c71102569 100644 --- a/edi_voxel_sale_secondary_unit/readme/CONTRIBUTORS.rst +++ b/edi_voxel_sale_secondary_unit_oca/readme/CONTRIBUTORS.rst @@ -2,3 +2,4 @@ * Ernesto Tejeda * Pedro M. Baeza + * Sergio Teruel diff --git a/edi_voxel_sale_secondary_unit/readme/DESCRIPTION.rst b/edi_voxel_sale_secondary_unit_oca/readme/DESCRIPTION.rst similarity index 100% rename from edi_voxel_sale_secondary_unit/readme/DESCRIPTION.rst rename to edi_voxel_sale_secondary_unit_oca/readme/DESCRIPTION.rst diff --git a/edi_voxel_sale_secondary_unit/readme/USAGE.rst b/edi_voxel_sale_secondary_unit_oca/readme/USAGE.rst similarity index 100% rename from edi_voxel_sale_secondary_unit/readme/USAGE.rst rename to edi_voxel_sale_secondary_unit_oca/readme/USAGE.rst diff --git a/edi_voxel_sale_secondary_unit/static/description/icon.png b/edi_voxel_sale_secondary_unit_oca/static/description/icon.png similarity index 100% rename from edi_voxel_sale_secondary_unit/static/description/icon.png rename to edi_voxel_sale_secondary_unit_oca/static/description/icon.png diff --git a/edi_voxel_sale_secondary_unit/static/description/index.html b/edi_voxel_sale_secondary_unit_oca/static/description/index.html similarity index 91% rename from edi_voxel_sale_secondary_unit/static/description/index.html rename to edi_voxel_sale_secondary_unit_oca/static/description/index.html index 2dad36d4c0..5c0654ec2f 100644 --- a/edi_voxel_sale_secondary_unit/static/description/index.html +++ b/edi_voxel_sale_secondary_unit_oca/static/description/index.html @@ -4,7 +4,7 @@ -Edi Voxel Sale Secondary Unit +Edi Voxel Sale Secondary Unit Oca -
-

Edi Voxel Sale Secondary Unit

+
+

Edi Voxel Sale Secondary Unit Oca

-

Production/Stable License: AGPL-3 OCA/edi Translate me on Weblate Try me on Runbot

+

Production/Stable License: AGPL-3 OCA/edi Translate me on Weblate Try me on Runbot

This module extends the functionality of ‘Voxel sale order’ module to match secondary units of measure instead of standard units of measure during sale order import process.

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

@@ -421,6 +421,7 @@

Contributors

  • Tecnativa:
    • Ernesto Tejeda
    • Pedro M. Baeza
    • +
    • Sergio Teruel
  • @@ -434,7 +435,7 @@

    Maintainers

    promote its widespread use.

    Current maintainer:

    ernestotejeda

    -

    This module is part of the OCA/edi project on GitHub.

    +

    This module is part of the OCA/edi project on GitHub.

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

    diff --git a/edi_voxel_sale_secondary_unit/tests/__init__.py b/edi_voxel_sale_secondary_unit_oca/tests/__init__.py similarity index 100% rename from edi_voxel_sale_secondary_unit/tests/__init__.py rename to edi_voxel_sale_secondary_unit_oca/tests/__init__.py diff --git a/edi_voxel_sale_secondary_unit/tests/test_edi_voxel_sale_secondary_unit.py b/edi_voxel_sale_secondary_unit_oca/tests/test_edi_voxel_sale_secondary_unit.py similarity index 95% rename from edi_voxel_sale_secondary_unit/tests/test_edi_voxel_sale_secondary_unit.py rename to edi_voxel_sale_secondary_unit_oca/tests/test_edi_voxel_sale_secondary_unit.py index 2e4cac6d4a..7dba14dac9 100644 --- a/edi_voxel_sale_secondary_unit/tests/test_edi_voxel_sale_secondary_unit.py +++ b/edi_voxel_sale_secondary_unit_oca/tests/test_edi_voxel_sale_secondary_unit.py @@ -1,7 +1,7 @@ # Copyright 2019 Tecnativa - Ernesto Tejeda # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo.addons.edi_voxel_sale_order_import.tests.test_voxel_sale_order_import import ( +from odoo.addons.edi_voxel_sale_order_import_oca.tests.test_voxel_sale_order_import import ( TestVoxelSaleOrderImportCommon, ) diff --git a/setup/edi_voxel_sale_secondary_unit_oca/odoo/addons/edi_voxel_sale_secondary_unit_oca b/setup/edi_voxel_sale_secondary_unit_oca/odoo/addons/edi_voxel_sale_secondary_unit_oca new file mode 120000 index 0000000000..b824f80574 --- /dev/null +++ b/setup/edi_voxel_sale_secondary_unit_oca/odoo/addons/edi_voxel_sale_secondary_unit_oca @@ -0,0 +1 @@ +../../../../edi_voxel_sale_secondary_unit_oca \ No newline at end of file diff --git a/setup/edi_voxel_sale_secondary_unit_oca/setup.py b/setup/edi_voxel_sale_secondary_unit_oca/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/edi_voxel_sale_secondary_unit_oca/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)