From da713ef8e826a743edf0b1b3386575f599a45e6c Mon Sep 17 00:00:00 2001 From: Jordi Ballester Alomar Date: Tue, 14 Mar 2023 20:16:01 +0100 Subject: [PATCH] [IMP] mrp_subcontracting_purchase_link: add post init hook to populate the PO line on previous manufacturing orders --- mrp_subcontracting_purchase_link/README.rst | 21 +++++++--- mrp_subcontracting_purchase_link/__init__.py | 1 + .../__manifest__.py | 5 ++- mrp_subcontracting_purchase_link/hooks.py | 39 ++++++++++++++++++ .../migrations/14.0.2.0.0/post-migration.py | 2 + .../readme/CONTRIBUTORS.rst | 5 +++ .../static/description/index.html | 40 +++++++++++-------- 7 files changed, 89 insertions(+), 24 deletions(-) create mode 100644 mrp_subcontracting_purchase_link/hooks.py diff --git a/mrp_subcontracting_purchase_link/README.rst b/mrp_subcontracting_purchase_link/README.rst index 548ea602d..d30518101 100644 --- a/mrp_subcontracting_purchase_link/README.rst +++ b/mrp_subcontracting_purchase_link/README.rst @@ -2,10 +2,13 @@ Link Purchase Order Line to Subcontract Productions =================================================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:074986a18935844303cc29216277c6fd630f383750f4ef24800ab0cf07c6a4c3 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Link Purchase Order Line to Subcontract Productions .. |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-mrp_subcontracting_purchase_link :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/129/14.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/manufacture&target_branch=14.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module does the following: @@ -40,7 +43,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed +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. @@ -52,6 +55,7 @@ Authors ~~~~~~~ * Quartile Limited +* ForgeFlow Contributors ~~~~~~~~~~~~ @@ -61,6 +65,11 @@ Contributors * Yoshi Tashiro * Tim Lai +* `ForgeFlow `__: + + * Thiago Mulero + * Jordi Ballester + Maintainers ~~~~~~~~~~~ diff --git a/mrp_subcontracting_purchase_link/__init__.py b/mrp_subcontracting_purchase_link/__init__.py index 0650744f6..cc6b6354a 100644 --- a/mrp_subcontracting_purchase_link/__init__.py +++ b/mrp_subcontracting_purchase_link/__init__.py @@ -1 +1,2 @@ from . import models +from .hooks import post_init_hook diff --git a/mrp_subcontracting_purchase_link/__manifest__.py b/mrp_subcontracting_purchase_link/__manifest__.py index 6ba26351f..fcf00d21b 100644 --- a/mrp_subcontracting_purchase_link/__manifest__.py +++ b/mrp_subcontracting_purchase_link/__manifest__.py @@ -2,12 +2,13 @@ # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). { "name": "Link Purchase Order Line to Subcontract Productions", - "version": "14.0.2.0.0", + "version": "14.0.2.1.0", "category": "Manufacturing", "license": "LGPL-3", - "author": "Quartile Limited, Odoo Community Association (OCA)", + "author": "Quartile Limited, ForgeFlow, Odoo Community Association (OCA)", "website": "https://github.com/OCA/manufacture", "depends": ["purchase", "mrp_subcontracting"], "data": ["views/purchase_order_views.xml", "views/mrp_production_views.xml"], + "post_init_hook": "post_init_hook", "installable": True, } diff --git a/mrp_subcontracting_purchase_link/hooks.py b/mrp_subcontracting_purchase_link/hooks.py new file mode 100644 index 000000000..e1a1394f4 --- /dev/null +++ b/mrp_subcontracting_purchase_link/hooks.py @@ -0,0 +1,39 @@ +# Copyright 2023 ForgeFlow, S.L. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import logging + +_logger = logging.getLogger(__name__) + + +def update_po_line_in_mrp_production(cr): + """ """ + _logger.info("Updating PO line in MRP production") + cr.execute( + """ + UPDATE mrp_production + SET + purchase_line_id = Q.purchase_line_id, + purchase_order_id = Q.purchase_id + FROM ( + SELECT po_sm.purchase_line_id, mo_sm.production_id, po.id as purchase_id + FROM stock_move as po_sm + INNER JOIN stock_move_move_rel as rel + ON rel.move_dest_id = po_sm.id + INNER JOIN stock_move as mo_sm + ON mo_sm.id = rel.move_orig_id + INNER JOIN purchase_order_line as pol + ON pol.id = po_sm.purchase_line_id + INNER JOIN purchase_order as po + ON po.id = pol.order_id + where po_sm.is_subcontract = true + AND po_sm.purchase_line_id is not null + AND mo_sm.production_id is not null + ) AS Q + WHERE mrp_production.id = Q.production_id + """ + ) + + +def post_init_hook(cr, registry): + update_po_line_in_mrp_production(cr) diff --git a/mrp_subcontracting_purchase_link/migrations/14.0.2.0.0/post-migration.py b/mrp_subcontracting_purchase_link/migrations/14.0.2.0.0/post-migration.py index 12c705777..777997591 100644 --- a/mrp_subcontracting_purchase_link/migrations/14.0.2.0.0/post-migration.py +++ b/mrp_subcontracting_purchase_link/migrations/14.0.2.0.0/post-migration.py @@ -1,3 +1,5 @@ +# Copyright 2023 ForgeFlow, S.L. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). import logging _logger = logging.getLogger(__name__) diff --git a/mrp_subcontracting_purchase_link/readme/CONTRIBUTORS.rst b/mrp_subcontracting_purchase_link/readme/CONTRIBUTORS.rst index 8fdf2f2c3..5de285c74 100644 --- a/mrp_subcontracting_purchase_link/readme/CONTRIBUTORS.rst +++ b/mrp_subcontracting_purchase_link/readme/CONTRIBUTORS.rst @@ -2,3 +2,8 @@ * Yoshi Tashiro * Tim Lai + +* `ForgeFlow `__: + + * Thiago Mulero + * Jordi Ballester diff --git a/mrp_subcontracting_purchase_link/static/description/index.html b/mrp_subcontracting_purchase_link/static/description/index.html index a07d5137f..42d15b227 100644 --- a/mrp_subcontracting_purchase_link/static/description/index.html +++ b/mrp_subcontracting_purchase_link/static/description/index.html @@ -1,20 +1,20 @@ - + - + Link Purchase Order Line to Subcontract Productions