From b87c82adc081e76cbf9908872802cfa424970606 Mon Sep 17 00:00:00 2001 From: DavidJForgeFlow Date: Wed, 28 Aug 2024 09:22:42 +0200 Subject: [PATCH 01/11] [ADD] repair_stock --- repair_stock/README.rst | 78 ++++ repair_stock/__init__.py | 2 + repair_stock/__manifest__.py | 15 + repair_stock/models/__init__.py | 3 + repair_stock/models/repair.py | 38 ++ repair_stock/readme/CONTRIBUTORS.rst | 1 + repair_stock/readme/DESCRIPTION.rst | 3 + repair_stock/static/description/icon.png | Bin 0 -> 9455 bytes repair_stock/static/description/index.html | 422 ++++++++++++++++++ repair_stock/tests/__init__.py | 3 + repair_stock/tests/test_stock_repair_order.py | 122 +++++ repair_stock/views/repair_order_view.xml | 26 ++ 12 files changed, 713 insertions(+) create mode 100644 repair_stock/README.rst create mode 100644 repair_stock/__init__.py create mode 100644 repair_stock/__manifest__.py create mode 100644 repair_stock/models/__init__.py create mode 100644 repair_stock/models/repair.py create mode 100644 repair_stock/readme/CONTRIBUTORS.rst create mode 100644 repair_stock/readme/DESCRIPTION.rst create mode 100644 repair_stock/static/description/icon.png create mode 100644 repair_stock/static/description/index.html create mode 100644 repair_stock/tests/__init__.py create mode 100644 repair_stock/tests/test_stock_repair_order.py create mode 100644 repair_stock/views/repair_order_view.xml diff --git a/repair_stock/README.rst b/repair_stock/README.rst new file mode 100644 index 00000000..f3598606 --- /dev/null +++ b/repair_stock/README.rst @@ -0,0 +1,78 @@ +============ +Repair Stock +============ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:576ed4d5c0c1e57002a5f0fbd364f753297c27ebe3e35595ae64c9cd000b216d + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fmanufacture-lightgray.png?logo=github + :target: https://github.com/OCA/manufacture/tree/14.0/repair_stock + :alt: OCA/manufacture +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/manufacture-14-0/manufacture-14-0-repair_stock + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/manufacture&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module acts as a base for the stock related modules for repairs. +It adds some common features that may be overriding between them, +as the compute for the pickings or the smart button for the transfers. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* David Jimenez + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/manufacture `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/repair_stock/__init__.py b/repair_stock/__init__.py new file mode 100644 index 00000000..0ee8b507 --- /dev/null +++ b/repair_stock/__init__.py @@ -0,0 +1,2 @@ +from . import models +from . import tests diff --git a/repair_stock/__manifest__.py b/repair_stock/__manifest__.py new file mode 100644 index 00000000..c029bc2f --- /dev/null +++ b/repair_stock/__manifest__.py @@ -0,0 +1,15 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Repair Stock", + "version": "14.0.1.0.0", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "category": "Repair", + "website": "https://github.com/OCA/manufacture", + "depends": ["repair_stock_move"], + "data": [ + "views/repair_order_view.xml", + ], + "license": "AGPL-3", +} diff --git a/repair_stock/models/__init__.py b/repair_stock/models/__init__.py new file mode 100644 index 00000000..316313ec --- /dev/null +++ b/repair_stock/models/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from . import repair diff --git a/repair_stock/models/repair.py b/repair_stock/models/repair.py new file mode 100644 index 00000000..61811cf7 --- /dev/null +++ b/repair_stock/models/repair.py @@ -0,0 +1,38 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class RepairOrder(models.Model): + _inherit = "repair.order" + + picking_ids = fields.Many2many( + comodel_name="stock.picking", + compute="_compute_picking_ids", + copy=False, + string="Transfers", + ) + picking_count = fields.Integer( + string="Transfers", copy=False, compute="_compute_picking_ids" + ) + + def action_view_pickings(self): + self.ensure_one() + action = self.env["ir.actions.actions"]._for_xml_id( + "stock.action_picking_tree_all" + ) + action["domain"] = [("id", "in", self.picking_ids.ids)] + return action + + def _compute_picking_ids(self): + for order in self: + moves = self.env["stock.move"].search( + [ + "|", + ("repair_id", "=", order.id), + ("repair_line_id", "in", order.operations.ids), + ] + ) + order.picking_ids = moves.mapped("picking_id") + order.picking_count = len(moves.mapped("picking_id")) diff --git a/repair_stock/readme/CONTRIBUTORS.rst b/repair_stock/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..11b57a1e --- /dev/null +++ b/repair_stock/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* David Jimenez diff --git a/repair_stock/readme/DESCRIPTION.rst b/repair_stock/readme/DESCRIPTION.rst new file mode 100644 index 00000000..0efcc233 --- /dev/null +++ b/repair_stock/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +This module acts as a base for the stock related modules for repairs. +It adds some common features that may be overriding between them, +as the compute for the pickings or the smart button for the transfers. diff --git a/repair_stock/static/description/icon.png b/repair_stock/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/repair_stock/static/description/index.html b/repair_stock/static/description/index.html new file mode 100644 index 00000000..6cbf9d01 --- /dev/null +++ b/repair_stock/static/description/index.html @@ -0,0 +1,422 @@ + + + + + +Repair Stock + + + +
+

Repair Stock

+ + +

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

+

This module acts as a base for the stock related modules for repairs. +It adds some common features that may be overriding between them, +as the compute for the pickings or the smart button for the transfers.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • ForgeFlow
  • +
+
+
+

Contributors

+ +
+
+

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

+

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

+
+
+
+ + diff --git a/repair_stock/tests/__init__.py b/repair_stock/tests/__init__.py new file mode 100644 index 00000000..3f1b05c4 --- /dev/null +++ b/repair_stock/tests/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from . import test_stock_repair_order diff --git a/repair_stock/tests/test_stock_repair_order.py b/repair_stock/tests/test_stock_repair_order.py new file mode 100644 index 00000000..7ac7b5fb --- /dev/null +++ b/repair_stock/tests/test_stock_repair_order.py @@ -0,0 +1,122 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo.tests import common + + +class TestStockRepairOrder(common.SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + + cls.repair_model = cls.env["repair.order"] + cls.repair_line_model = cls.env["repair.line"] + cls.product_model = cls.env["product.product"] + cls.stock_location_model = cls.env["stock.location"] + cls.warehouse_model = cls.env["stock.warehouse"] + cls.company = cls.env.ref("base.main_company") + cls.warehouse = cls.warehouse_model.create( + { + "name": "Test Warehouse", + "code": "TW", + "company_id": cls.company.id, + } + ) + + cls.product1 = cls.product_model.create( + { + "name": "Product 1", + "type": "product", + "company_id": cls.company.id, + } + ) + cls.product2 = cls.product_model.create( + { + "name": "Product 2", + "type": "product", + "company_id": cls.company.id, + } + ) + cls.repair_location = cls.stock_location_model.create( + { + "name": "Repair Location", + "usage": "internal", + "location_id": cls.warehouse.view_location_id.id, + "company_id": cls.company.id, + } + ) + cls.production_location = cls.stock_location_model.create( + { + "name": "Production Location", + "usage": "production", + "company_id": cls.company.id, + } + ) + cls.env["stock.quant"].create( + { + "product_id": cls.product1.id, + "location_id": cls.repair_location.id, + "quantity": 10, + } + ) + cls.env["stock.quant"].create( + { + "product_id": cls.product2.id, + "location_id": cls.warehouse.lot_stock_id.id, + "quantity": 10, + } + ) + + def test_compute_pickings(self): + repair_order = self.repair_model.create( + { + "product_id": self.product1.id, + "product_uom": self.product1.uom_id.id, + "location_id": self.repair_location.id, + "company_id": self.company.id, + } + ) + self.repair_line_model.create( + { + "name": "Repair Line 2", + "repair_id": repair_order.id, + "product_id": self.product2.id, + "type": "add", + "product_uom_qty": 1, + "product_uom": self.product2.uom_id.id, + "price_unit": 1, + "location_id": self.repair_location.id, + "location_dest_id": self.production_location.id, + } + ) + repair_order.action_repair_confirm() + repair_order._compute_picking_ids() + self.assertEqual(len(repair_order.picking_ids), 0) + picking = self.env["stock.picking"].create( + { + "partner_id": False, + "user_id": False, + "picking_type_id": self.warehouse.int_type_id.id, + "move_type": "direct", + "location_id": self.repair_location.id, + "location_dest_id": self.production_location.id, + } + ) + self.env["stock.move"].create( + { + "name": repair_order.product_id.name, + "product_id": repair_order.product_id.id, + "location_id": repair_order.location_id.id, + "location_dest_id": self.production_location.id, + "picking_id": picking.id, + "state": "draft", + "company_id": picking.company_id.id, + "picking_type_id": self.warehouse.int_type_id.id, + "product_uom_qty": 1, + "product_uom": repair_order.move_id.product_uom.id, + "repair_id": repair_order.id, + } + ) + repair_order._compute_picking_ids() + self.assertTrue(repair_order.picking_ids) + self.assertEqual(len(repair_order.picking_ids), 1) diff --git a/repair_stock/views/repair_order_view.xml b/repair_stock/views/repair_order_view.xml new file mode 100644 index 00000000..9667f627 --- /dev/null +++ b/repair_stock/views/repair_order_view.xml @@ -0,0 +1,26 @@ + + + + + repair.order.form - repair_stock_move - custom + repair.order + + + + + + + + From 431d0dcb6dad984b1b6b9240b8b1d0a1b6107f96 Mon Sep 17 00:00:00 2001 From: DavidJForgeFlow Date: Wed, 28 Aug 2024 13:46:34 +0200 Subject: [PATCH 02/11] [IMP] repair_stock: pre-commit stuff --- repair_stock/README.rst | 16 ++++++++-------- repair_stock/__init__.py | 1 - repair_stock/__manifest__.py | 2 +- repair_stock/static/description/index.html | 8 ++++---- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/repair_stock/README.rst b/repair_stock/README.rst index f3598606..455793ed 100644 --- a/repair_stock/README.rst +++ b/repair_stock/README.rst @@ -16,14 +16,14 @@ Repair Stock .. |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%2Fmanufacture-lightgray.png?logo=github - :target: https://github.com/OCA/manufacture/tree/14.0/repair_stock - :alt: OCA/manufacture +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Frepair-lightgray.png?logo=github + :target: https://github.com/OCA/repair/tree/16.0/repair_stock + :alt: OCA/repair .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/manufacture-14-0/manufacture-14-0-repair_stock + :target: https://translation.odoo-community.org/projects/repair-16-0/repair-16-0-repair_stock :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/manufacture&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/repair&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -40,10 +40,10 @@ as the compute for the pickings or the smart button for the transfers. Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -73,6 +73,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/manufacture `_ project on GitHub. +This module is part of the `OCA/repair `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/repair_stock/__init__.py b/repair_stock/__init__.py index 0ee8b507..0650744f 100644 --- a/repair_stock/__init__.py +++ b/repair_stock/__init__.py @@ -1,2 +1 @@ from . import models -from . import tests diff --git a/repair_stock/__manifest__.py b/repair_stock/__manifest__.py index c029bc2f..962c8036 100644 --- a/repair_stock/__manifest__.py +++ b/repair_stock/__manifest__.py @@ -6,7 +6,7 @@ "version": "14.0.1.0.0", "author": "ForgeFlow, Odoo Community Association (OCA)", "category": "Repair", - "website": "https://github.com/OCA/manufacture", + "website": "https://github.com/OCA/repair", "depends": ["repair_stock_move"], "data": [ "views/repair_order_view.xml", diff --git a/repair_stock/static/description/index.html b/repair_stock/static/description/index.html index 6cbf9d01..a8855865 100644 --- a/repair_stock/static/description/index.html +++ b/repair_stock/static/description/index.html @@ -368,7 +368,7 @@

Repair Stock

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:576ed4d5c0c1e57002a5f0fbd364f753297c27ebe3e35595ae64c9cd000b216d !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

This module acts as a base for the stock related modules for repairs. It adds some common features that may be overriding between them, as the compute for the pickings or the smart button for the transfers.

@@ -386,10 +386,10 @@

Repair Stock

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

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

@@ -413,7 +413,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/manufacture project on GitHub.

+

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

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

From d06a00c191a38dcc17f22598a78556ed2b633cfb Mon Sep 17 00:00:00 2001 From: DavidJForgeFlow Date: Wed, 28 Aug 2024 13:50:34 +0200 Subject: [PATCH 03/11] [MIG] repair_stock: Migration to 16.0 --- repair_stock/README.rst | 11 +++++-- repair_stock/__manifest__.py | 3 +- repair_stock/i18n/repair_stock.pot | 31 +++++++++++++++++++ repair_stock/static/description/index.html | 21 +++++++++---- repair_stock/tests/test_stock_repair_order.py | 2 +- 5 files changed, 57 insertions(+), 11 deletions(-) create mode 100644 repair_stock/i18n/repair_stock.pot diff --git a/repair_stock/README.rst b/repair_stock/README.rst index 455793ed..0c6b3d5b 100644 --- a/repair_stock/README.rst +++ b/repair_stock/README.rst @@ -7,12 +7,12 @@ Repair Stock !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:576ed4d5c0c1e57002a5f0fbd364f753297c27ebe3e35595ae64c9cd000b216d + !! source digest: sha256:e5f38d7da6b61c566a431044972a232c89b78faf6eed0fbae77dcf335dd8ed1c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png :target: https://odoo-community.org/page/development-status - :alt: Beta + :alt: Alpha .. |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 @@ -32,6 +32,11 @@ This module acts as a base for the stock related modules for repairs. It adds some common features that may be overriding between them, as the compute for the pickings or the smart button for the transfers. +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + **Table of contents** .. contents:: diff --git a/repair_stock/__manifest__.py b/repair_stock/__manifest__.py index 962c8036..d7848139 100644 --- a/repair_stock/__manifest__.py +++ b/repair_stock/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Repair Stock", - "version": "14.0.1.0.0", + "version": "16.0.1.0.0", "author": "ForgeFlow, Odoo Community Association (OCA)", "category": "Repair", "website": "https://github.com/OCA/repair", @@ -12,4 +12,5 @@ "views/repair_order_view.xml", ], "license": "AGPL-3", + "development_status": "Alpha", } diff --git a/repair_stock/i18n/repair_stock.pot b/repair_stock/i18n/repair_stock.pot new file mode 100644 index 00000000..b8558be6 --- /dev/null +++ b/repair_stock/i18n/repair_stock.pot @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * repair_stock +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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: repair_stock +#: model:ir.model,name:repair_stock.model_repair_order +msgid "Repair Order" +msgstr "" + +#. module: repair_stock +#: model:ir.model.fields,field_description:repair_stock.field_repair_order__picking_count +#: model:ir.model.fields,field_description:repair_stock.field_repair_order__picking_ids +#: model_terms:ir.ui.view,arch_db:repair_stock.view_repair_order_form_repair_stock_move_inherited +msgid "Transfers" +msgstr "" + +#. module: repair_stock +#: model_terms:ir.ui.view,arch_db:repair_stock.view_repair_order_form_repair_stock_move_inherited +msgid "Transfers associated with this repair order" +msgstr "" diff --git a/repair_stock/static/description/index.html b/repair_stock/static/description/index.html index a8855865..66ff6227 100644 --- a/repair_stock/static/description/index.html +++ b/repair_stock/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -366,12 +367,18 @@

Repair Stock

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:576ed4d5c0c1e57002a5f0fbd364f753297c27ebe3e35595ae64c9cd000b216d +!! source digest: sha256:e5f38d7da6b61c566a431044972a232c89b78faf6eed0fbae77dcf335dd8ed1c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

Alpha License: AGPL-3 OCA/repair Translate me on Weblate Try me on Runboat

This module acts as a base for the stock related modules for repairs. It adds some common features that may be overriding between them, as the compute for the pickings or the smart button for the transfers.

+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+

Table of contents

    @@ -409,7 +416,9 @@

    Contributors

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +Odoo Community Association +

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    diff --git a/repair_stock/tests/test_stock_repair_order.py b/repair_stock/tests/test_stock_repair_order.py index 7ac7b5fb..9b5f7c76 100644 --- a/repair_stock/tests/test_stock_repair_order.py +++ b/repair_stock/tests/test_stock_repair_order.py @@ -4,7 +4,7 @@ from odoo.tests import common -class TestStockRepairOrder(common.SavepointCase): +class TestStockRepairOrder(common.TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() From 40273c7c8058b391ebee3c32f8eb3965300571fb Mon Sep 17 00:00:00 2001 From: mymage Date: Sat, 31 Aug 2024 09:01:13 +0000 Subject: [PATCH 04/11] Added translation using Weblate (Italian) --- repair_stock/i18n/it.po | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 repair_stock/i18n/it.po diff --git a/repair_stock/i18n/it.po b/repair_stock/i18n/it.po new file mode 100644 index 00000000..6ced9329 --- /dev/null +++ b/repair_stock/i18n/it.po @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * repair_stock +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-08-31 11:06+0000\n" +"Last-Translator: mymage \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 5.6.2\n" + +#. module: repair_stock +#: model:ir.model,name:repair_stock.model_repair_order +msgid "Repair Order" +msgstr "Ordine di riparazione" + +#. module: repair_stock +#: model:ir.model.fields,field_description:repair_stock.field_repair_order__picking_count +#: model:ir.model.fields,field_description:repair_stock.field_repair_order__picking_ids +#: model_terms:ir.ui.view,arch_db:repair_stock.view_repair_order_form_repair_stock_move_inherited +msgid "Transfers" +msgstr "Trasferimenti" + +#. module: repair_stock +#: model_terms:ir.ui.view,arch_db:repair_stock.view_repair_order_form_repair_stock_move_inherited +msgid "Transfers associated with this repair order" +msgstr "Trasferimenti associati a questo ordine di riparazione" From 23b841817030bc5b1d7572b38ff6e3514d935a25 Mon Sep 17 00:00:00 2001 From: Patryk Pyczko Date: Tue, 29 Oct 2024 12:58:16 +0100 Subject: [PATCH 05/11] [IMP] repair_stock: pre-commit auto fixes --- repair_stock/README.rst | 24 +++++++++++----------- repair_stock/pyproject.toml | 3 +++ repair_stock/readme/CONTRIBUTORS.md | 1 + repair_stock/readme/CONTRIBUTORS.rst | 1 - repair_stock/readme/DESCRIPTION.md | 3 +++ repair_stock/readme/DESCRIPTION.rst | 3 --- repair_stock/static/description/index.html | 12 +++++------ 7 files changed, 25 insertions(+), 22 deletions(-) create mode 100644 repair_stock/pyproject.toml create mode 100644 repair_stock/readme/CONTRIBUTORS.md delete mode 100644 repair_stock/readme/CONTRIBUTORS.rst create mode 100644 repair_stock/readme/DESCRIPTION.md delete mode 100644 repair_stock/readme/DESCRIPTION.rst diff --git a/repair_stock/README.rst b/repair_stock/README.rst index 0c6b3d5b..589c219c 100644 --- a/repair_stock/README.rst +++ b/repair_stock/README.rst @@ -17,20 +17,20 @@ Repair Stock :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Frepair-lightgray.png?logo=github - :target: https://github.com/OCA/repair/tree/16.0/repair_stock + :target: https://github.com/OCA/repair/tree/17.0/repair_stock :alt: OCA/repair .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/repair-16-0/repair-16-0-repair_stock + :target: https://translation.odoo-community.org/projects/repair-17-0/repair-17-0-repair_stock :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/repair&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/repair&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module acts as a base for the stock related modules for repairs. -It adds some common features that may be overriding between them, -as the compute for the pickings or the smart button for the transfers. +This module acts as a base for the stock related modules for repairs. It +adds some common features that may be overriding between them, as the +compute for the pickings or the smart button for the transfers. .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. @@ -48,7 +48,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -56,17 +56,17 @@ Credits ======= Authors -~~~~~~~ +------- * ForgeFlow Contributors -~~~~~~~~~~~~ +------------ -* David Jimenez +- David Jimenez Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -78,6 +78,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/repair `_ project on GitHub. +This module is part of the `OCA/repair `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/repair_stock/pyproject.toml b/repair_stock/pyproject.toml new file mode 100644 index 00000000..4231d0cc --- /dev/null +++ b/repair_stock/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/repair_stock/readme/CONTRIBUTORS.md b/repair_stock/readme/CONTRIBUTORS.md new file mode 100644 index 00000000..1d5ed3fe --- /dev/null +++ b/repair_stock/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- David Jimenez \<\> diff --git a/repair_stock/readme/CONTRIBUTORS.rst b/repair_stock/readme/CONTRIBUTORS.rst deleted file mode 100644 index 11b57a1e..00000000 --- a/repair_stock/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1 +0,0 @@ -* David Jimenez diff --git a/repair_stock/readme/DESCRIPTION.md b/repair_stock/readme/DESCRIPTION.md new file mode 100644 index 00000000..d75e2d6e --- /dev/null +++ b/repair_stock/readme/DESCRIPTION.md @@ -0,0 +1,3 @@ +This module acts as a base for the stock related modules for repairs. It +adds some common features that may be overriding between them, as the +compute for the pickings or the smart button for the transfers. diff --git a/repair_stock/readme/DESCRIPTION.rst b/repair_stock/readme/DESCRIPTION.rst deleted file mode 100644 index 0efcc233..00000000 --- a/repair_stock/readme/DESCRIPTION.rst +++ /dev/null @@ -1,3 +0,0 @@ -This module acts as a base for the stock related modules for repairs. -It adds some common features that may be overriding between them, -as the compute for the pickings or the smart button for the transfers. diff --git a/repair_stock/static/description/index.html b/repair_stock/static/description/index.html index 66ff6227..bfb81b8a 100644 --- a/repair_stock/static/description/index.html +++ b/repair_stock/static/description/index.html @@ -369,10 +369,10 @@

    Repair Stock

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:e5f38d7da6b61c566a431044972a232c89b78faf6eed0fbae77dcf335dd8ed1c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Alpha License: AGPL-3 OCA/repair Translate me on Weblate Try me on Runboat

    -

    This module acts as a base for the stock related modules for repairs. -It adds some common features that may be overriding between them, -as the compute for the pickings or the smart button for the transfers.

    +

    Alpha License: AGPL-3 OCA/repair Translate me on Weblate Try me on Runboat

    +

    This module acts as a base for the stock related modules for repairs. It +adds some common features that may be overriding between them, as the +compute for the pickings or the smart button for the transfers.

    Important

    This is an alpha version, the data model and design can change at any time without warning. @@ -396,7 +396,7 @@

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

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

    @@ -422,7 +422,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/repair project on GitHub.

    +

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

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

    From 7eac94099a19bfed5c756ad2165e3b32085ff6a5 Mon Sep 17 00:00:00 2001 From: Patryk Pyczko Date: Tue, 29 Oct 2024 14:45:06 +0100 Subject: [PATCH 06/11] [MIG] repair_stock: Migration to 17.0 --- repair_stock/README.rst | 3 + repair_stock/__manifest__.py | 4 +- repair_stock/models/repair.py | 2 - repair_stock/readme/CONTRIBUTORS.md | 2 + repair_stock/static/description/index.html | 4 ++ repair_stock/tests/test_stock_repair_order.py | 58 +++++++++++-------- repair_stock/views/repair_order_view.xml | 2 +- 7 files changed, 47 insertions(+), 28 deletions(-) diff --git a/repair_stock/README.rst b/repair_stock/README.rst index 589c219c..4e9311da 100644 --- a/repair_stock/README.rst +++ b/repair_stock/README.rst @@ -64,6 +64,9 @@ Contributors ------------ - David Jimenez +- `APSL-Nagarro `__: + + - Patryk Pyczko Maintainers ----------- diff --git a/repair_stock/__manifest__.py b/repair_stock/__manifest__.py index d7848139..df2bc531 100644 --- a/repair_stock/__manifest__.py +++ b/repair_stock/__manifest__.py @@ -3,11 +3,11 @@ { "name": "Repair Stock", - "version": "16.0.1.0.0", + "version": "17.0.1.0.0", "author": "ForgeFlow, Odoo Community Association (OCA)", "category": "Repair", "website": "https://github.com/OCA/repair", - "depends": ["repair_stock_move"], + "depends": ["repair"], "data": [ "views/repair_order_view.xml", ], diff --git a/repair_stock/models/repair.py b/repair_stock/models/repair.py index 61811cf7..1f85f7a4 100644 --- a/repair_stock/models/repair.py +++ b/repair_stock/models/repair.py @@ -29,9 +29,7 @@ def _compute_picking_ids(self): for order in self: moves = self.env["stock.move"].search( [ - "|", ("repair_id", "=", order.id), - ("repair_line_id", "in", order.operations.ids), ] ) order.picking_ids = moves.mapped("picking_id") diff --git a/repair_stock/readme/CONTRIBUTORS.md b/repair_stock/readme/CONTRIBUTORS.md index 1d5ed3fe..d8b2f958 100644 --- a/repair_stock/readme/CONTRIBUTORS.md +++ b/repair_stock/readme/CONTRIBUTORS.md @@ -1 +1,3 @@ - David Jimenez \<\> +- [APSL-Nagarro](https://www.apsl.tech): + - Patryk Pyczko \<\> \ No newline at end of file diff --git a/repair_stock/static/description/index.html b/repair_stock/static/description/index.html index bfb81b8a..d30b637f 100644 --- a/repair_stock/static/description/index.html +++ b/repair_stock/static/description/index.html @@ -411,6 +411,10 @@

    Authors

    Contributors

diff --git a/repair_stock/tests/test_stock_repair_order.py b/repair_stock/tests/test_stock_repair_order.py index 9b5f7c76..53a19f72 100644 --- a/repair_stock/tests/test_stock_repair_order.py +++ b/repair_stock/tests/test_stock_repair_order.py @@ -8,13 +8,12 @@ class TestStockRepairOrder(common.TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() - cls.repair_model = cls.env["repair.order"] - cls.repair_line_model = cls.env["repair.line"] cls.product_model = cls.env["product.product"] cls.stock_location_model = cls.env["stock.location"] cls.warehouse_model = cls.env["stock.warehouse"] cls.company = cls.env.ref("base.main_company") + cls.warehouse = cls.warehouse_model.create( { "name": "Test Warehouse", @@ -37,6 +36,7 @@ def setUpClass(cls): "company_id": cls.company.id, } ) + cls.repair_location = cls.stock_location_model.create( { "name": "Repair Location", @@ -52,6 +52,7 @@ def setUpClass(cls): "company_id": cls.company.id, } ) + cls.env["stock.quant"].create( { "product_id": cls.product1.id, @@ -67,31 +68,17 @@ def setUpClass(cls): } ) - def test_compute_pickings(self): - repair_order = self.repair_model.create( + def _create_repair_order(self, product): + return self.repair_model.create( { - "product_id": self.product1.id, - "product_uom": self.product1.uom_id.id, + "product_id": product.id, + "product_uom": product.uom_id.id, "location_id": self.repair_location.id, "company_id": self.company.id, } ) - self.repair_line_model.create( - { - "name": "Repair Line 2", - "repair_id": repair_order.id, - "product_id": self.product2.id, - "type": "add", - "product_uom_qty": 1, - "product_uom": self.product2.uom_id.id, - "price_unit": 1, - "location_id": self.repair_location.id, - "location_dest_id": self.production_location.id, - } - ) - repair_order.action_repair_confirm() - repair_order._compute_picking_ids() - self.assertEqual(len(repair_order.picking_ids), 0) + + def _create_picking_and_move(self, repair_order): picking = self.env["stock.picking"].create( { "partner_id": False, @@ -100,6 +87,7 @@ def test_compute_pickings(self): "move_type": "direct", "location_id": self.repair_location.id, "location_dest_id": self.production_location.id, + "company_id": self.company.id, } ) self.env["stock.move"].create( @@ -113,10 +101,34 @@ def test_compute_pickings(self): "company_id": picking.company_id.id, "picking_type_id": self.warehouse.int_type_id.id, "product_uom_qty": 1, - "product_uom": repair_order.move_id.product_uom.id, + "product_uom": repair_order.product_id.uom_id.id, "repair_id": repair_order.id, } ) + return picking + + def test_compute_pickings(self): + repair_order = self._create_repair_order(self.product1) + repair_order._action_repair_confirm() + repair_order._compute_picking_ids() + self.assertEqual(len(repair_order.picking_ids), 0) + + self._create_picking_and_move(repair_order) repair_order._compute_picking_ids() self.assertTrue(repair_order.picking_ids) self.assertEqual(len(repair_order.picking_ids), 1) + + def test_action_view_pickings(self): + repair_order = self._create_repair_order(self.product1) + repair_order._action_repair_confirm() + + picking = self._create_picking_and_move(repair_order) + repair_order._compute_picking_ids() + + action = repair_order.action_view_pickings() + self.assertEqual(action["type"], "ir.actions.act_window") + self.assertEqual(action["res_model"], "stock.picking") + self.assertIn("domain", action) + self.assertEqual(action["domain"], [("id", "in", repair_order.picking_ids.ids)]) + self.assertEqual(len(repair_order.picking_ids), 1) + self.assertEqual(repair_order.picking_ids[0], picking) diff --git a/repair_stock/views/repair_order_view.xml b/repair_stock/views/repair_order_view.xml index 9667f627..53d66e3d 100644 --- a/repair_stock/views/repair_order_view.xml +++ b/repair_stock/views/repair_order_view.xml @@ -15,7 +15,7 @@ type="object" class="oe_stat_button" icon="fa-truck" - attrs="{'invisible': [('picking_count', '=', 0)]}" + invisible="picking_count == 0" help="Transfers associated with this repair order" > From 848d6e0406fff432545790658e9e33e222644f52 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 6 Nov 2024 14:26:45 +0000 Subject: [PATCH 07/11] [UPD] Update repair_stock.pot --- repair_stock/i18n/repair_stock.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repair_stock/i18n/repair_stock.pot b/repair_stock/i18n/repair_stock.pot index b8558be6..3ba04275 100644 --- a/repair_stock/i18n/repair_stock.pot +++ b/repair_stock/i18n/repair_stock.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" From 4ad398a1dd07df85ab681ece72e13a30621646ec Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 6 Nov 2024 14:29:34 +0000 Subject: [PATCH 08/11] [BOT] post-merge updates --- repair_stock/README.rst | 2 +- repair_stock/static/description/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/repair_stock/README.rst b/repair_stock/README.rst index 4e9311da..60a1eddc 100644 --- a/repair_stock/README.rst +++ b/repair_stock/README.rst @@ -7,7 +7,7 @@ Repair Stock !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:e5f38d7da6b61c566a431044972a232c89b78faf6eed0fbae77dcf335dd8ed1c + !! source digest: sha256:cc3de3e745ecbbd30f3259192e016829c5bd1ec38202226ca147c4f986ae21af !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png diff --git a/repair_stock/static/description/index.html b/repair_stock/static/description/index.html index d30b637f..a8353c4c 100644 --- a/repair_stock/static/description/index.html +++ b/repair_stock/static/description/index.html @@ -367,7 +367,7 @@

Repair Stock

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:e5f38d7da6b61c566a431044972a232c89b78faf6eed0fbae77dcf335dd8ed1c +!! source digest: sha256:cc3de3e745ecbbd30f3259192e016829c5bd1ec38202226ca147c4f986ae21af !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Alpha License: AGPL-3 OCA/repair Translate me on Weblate Try me on Runboat

This module acts as a base for the stock related modules for repairs. It From 688abfd702c7f02947a91ee199c6ef7ca3074e17 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Mon, 6 Jan 2025 16:15:07 +0530 Subject: [PATCH 09/11] [MIG] repair_stock: Migration to 18.0 --- repair_stock/README.rst | 18 ++++++++++-------- repair_stock/__manifest__.py | 2 +- repair_stock/models/repair.py | 4 ++-- repair_stock/readme/CONTRIBUTORS.md | 3 ++- repair_stock/static/description/index.html | 7 ++++--- repair_stock/tests/test_stock_repair_order.py | 4 ++-- 6 files changed, 21 insertions(+), 17 deletions(-) diff --git a/repair_stock/README.rst b/repair_stock/README.rst index 60a1eddc..b79c5de7 100644 --- a/repair_stock/README.rst +++ b/repair_stock/README.rst @@ -17,13 +17,13 @@ Repair Stock :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Frepair-lightgray.png?logo=github - :target: https://github.com/OCA/repair/tree/17.0/repair_stock + :target: https://github.com/OCA/repair/tree/18.0/repair_stock :alt: OCA/repair .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/repair-17-0/repair-17-0-repair_stock + :target: https://translation.odoo-community.org/projects/repair-18-0/repair-18-0-repair_stock :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/repair&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/repair&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -48,7 +48,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -63,10 +63,12 @@ Authors Contributors ------------ -- David Jimenez -- `APSL-Nagarro `__: +- David Jimenez +- `APSL-Nagarro `__: - - Patryk Pyczko + - Patryk Pyczko + +- ``Heliconia Solutions Pvt. Ltd. ``\ \_ Maintainers ----------- @@ -81,6 +83,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/repair `_ project on GitHub. +This module is part of the `OCA/repair `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/repair_stock/__manifest__.py b/repair_stock/__manifest__.py index df2bc531..60d583b0 100644 --- a/repair_stock/__manifest__.py +++ b/repair_stock/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Repair Stock", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "author": "ForgeFlow, Odoo Community Association (OCA)", "category": "Repair", "website": "https://github.com/OCA/repair", diff --git a/repair_stock/models/repair.py b/repair_stock/models/repair.py index 1f85f7a4..041d633f 100644 --- a/repair_stock/models/repair.py +++ b/repair_stock/models/repair.py @@ -14,7 +14,7 @@ class RepairOrder(models.Model): string="Transfers", ) picking_count = fields.Integer( - string="Transfers", copy=False, compute="_compute_picking_ids" + string="Transfers Count", copy=False, compute="_compute_picking_ids" ) def action_view_pickings(self): @@ -29,7 +29,7 @@ def _compute_picking_ids(self): for order in self: moves = self.env["stock.move"].search( [ - ("repair_id", "=", order.id), + ("related_repair_id", "=", order.id), ] ) order.picking_ids = moves.mapped("picking_id") diff --git a/repair_stock/readme/CONTRIBUTORS.md b/repair_stock/readme/CONTRIBUTORS.md index d8b2f958..f37a345c 100644 --- a/repair_stock/readme/CONTRIBUTORS.md +++ b/repair_stock/readme/CONTRIBUTORS.md @@ -1,3 +1,4 @@ - David Jimenez \<\> - [APSL-Nagarro](https://www.apsl.tech): - - Patryk Pyczko \<\> \ No newline at end of file + - Patryk Pyczko \<\> +- `Heliconia Solutions Pvt. Ltd. `_ diff --git a/repair_stock/static/description/index.html b/repair_stock/static/description/index.html index a8353c4c..a72a3715 100644 --- a/repair_stock/static/description/index.html +++ b/repair_stock/static/description/index.html @@ -369,7 +369,7 @@

Repair Stock

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:cc3de3e745ecbbd30f3259192e016829c5bd1ec38202226ca147c4f986ae21af !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Alpha License: AGPL-3 OCA/repair Translate me on Weblate Try me on Runboat

+

Alpha License: AGPL-3 OCA/repair Translate me on Weblate Try me on Runboat

This module acts as a base for the stock related modules for repairs. It adds some common features that may be overriding between them, as the compute for the pickings or the smart button for the transfers.

@@ -396,7 +396,7 @@

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

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

@@ -415,6 +415,7 @@

Contributors

  • Patryk Pyczko <ppyczko@apsl.net>
  • +
  • Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>_
  • @@ -426,7 +427,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/repair project on GitHub.

    +

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

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

    diff --git a/repair_stock/tests/test_stock_repair_order.py b/repair_stock/tests/test_stock_repair_order.py index 53a19f72..a79423f6 100644 --- a/repair_stock/tests/test_stock_repair_order.py +++ b/repair_stock/tests/test_stock_repair_order.py @@ -25,15 +25,15 @@ def setUpClass(cls): cls.product1 = cls.product_model.create( { "name": "Product 1", - "type": "product", "company_id": cls.company.id, + "is_storable": True, } ) cls.product2 = cls.product_model.create( { "name": "Product 2", - "type": "product", "company_id": cls.company.id, + "is_storable": True, } ) From dd5b56c614b17ca181ecace3aaba4c372cdd58b5 Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Fri, 14 Feb 2025 13:19:25 +0100 Subject: [PATCH 10/11] [IMP] repair_stock: use a non conflicting field for auxiliar transfers `repair_id` is reserved to the stock.moves directly related to the execution of the repair order and has associated logic in odoo core code (like assigning the picking type) To avoid unexpected behaviors, we use `related_repair_id` to signal auxiliar stock moves that are not directly related to repair execution. To not break existing modules depending on it, support for `repair_id` is kept but it is recommended to remove in v18. --- repair_stock/models/__init__.py | 2 ++ repair_stock/models/repair.py | 3 +++ repair_stock/models/stock_move.py | 19 +++++++++++++++++++ repair_stock/models/stock_rule.py | 15 +++++++++++++++ repair_stock/tests/test_stock_repair_order.py | 3 ++- 5 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 repair_stock/models/stock_move.py create mode 100644 repair_stock/models/stock_rule.py diff --git a/repair_stock/models/__init__.py b/repair_stock/models/__init__.py index 316313ec..29aa3910 100644 --- a/repair_stock/models/__init__.py +++ b/repair_stock/models/__init__.py @@ -1,3 +1,5 @@ # Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from . import repair +from . import stock_move +from . import stock_rule diff --git a/repair_stock/models/repair.py b/repair_stock/models/repair.py index 041d633f..76cbceaa 100644 --- a/repair_stock/models/repair.py +++ b/repair_stock/models/repair.py @@ -27,6 +27,9 @@ def action_view_pickings(self): def _compute_picking_ids(self): for order in self: + # TODO: migration note: `repair_id` should not be used here + # in v18, use `related_repair_id` instead while migrating + # modules depending on this. moves = self.env["stock.move"].search( [ ("related_repair_id", "=", order.id), diff --git a/repair_stock/models/stock_move.py b/repair_stock/models/stock_move.py new file mode 100644 index 00000000..058b8634 --- /dev/null +++ b/repair_stock/models/stock_move.py @@ -0,0 +1,19 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class StockMove(models.Model): + _inherit = "stock.move" + + # `repair_id` is reserved to the stock.moves directly related + # to the execution of the repair order and has associated logic + # in odoo core code (like assigning the picking type) + # To avoid unexpected behaviors, we use `related_repair_id` to + # signal auxiliar stock moves that are not directly related to + # repair execution. + related_repair_id = fields.Many2one( + comodel_name="repair.order", + readonly=True, + ) diff --git a/repair_stock/models/stock_rule.py b/repair_stock/models/stock_rule.py new file mode 100644 index 00000000..e3578c4d --- /dev/null +++ b/repair_stock/models/stock_rule.py @@ -0,0 +1,15 @@ +# Copyright 2023 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import models + + +class StockRule(models.Model): + _inherit = "stock.rule" + + def _get_custom_move_fields(self): + move_fields = super()._get_custom_move_fields() + move_fields += [ + "related_repair_id", + ] + return move_fields diff --git a/repair_stock/tests/test_stock_repair_order.py b/repair_stock/tests/test_stock_repair_order.py index a79423f6..1ca45a89 100644 --- a/repair_stock/tests/test_stock_repair_order.py +++ b/repair_stock/tests/test_stock_repair_order.py @@ -102,7 +102,7 @@ def _create_picking_and_move(self, repair_order): "picking_type_id": self.warehouse.int_type_id.id, "product_uom_qty": 1, "product_uom": repair_order.product_id.uom_id.id, - "repair_id": repair_order.id, + "related_repair_id": repair_order.id, } ) return picking @@ -123,6 +123,7 @@ def test_action_view_pickings(self): repair_order._action_repair_confirm() picking = self._create_picking_and_move(repair_order) + self.assertEqual(picking.picking_type_id, self.warehouse.int_type_id) repair_order._compute_picking_ids() action = repair_order.action_view_pickings() From b36c16121291f16dc469d34cb7cc3d6ff2040246 Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Thu, 6 Feb 2025 12:43:58 +0100 Subject: [PATCH 11/11] [IMP] repair_stock: bump dev status This module has been migrated over several versions and has good tests coverage. --- repair_stock/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repair_stock/__manifest__.py b/repair_stock/__manifest__.py index 60d583b0..0962aba9 100644 --- a/repair_stock/__manifest__.py +++ b/repair_stock/__manifest__.py @@ -12,5 +12,5 @@ "views/repair_order_view.xml", ], "license": "AGPL-3", - "development_status": "Alpha", + "development_status": "Production/Stable", }