diff --git a/account_move_line_purchase_info/__init__.py b/account_move_line_purchase_info/__init__.py index 4b76c7b2d..e66fb1c2e 100644 --- a/account_move_line_purchase_info/__init__.py +++ b/account_move_line_purchase_info/__init__.py @@ -1,3 +1,4 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from . import models +from .hooks import post_init_hook diff --git a/account_move_line_purchase_info/__manifest__.py b/account_move_line_purchase_info/__manifest__.py index 6df1399ba..fbb8908a0 100644 --- a/account_move_line_purchase_info/__manifest__.py +++ b/account_move_line_purchase_info/__manifest__.py @@ -13,4 +13,5 @@ "license": "AGPL-3", "data": ["security/account_security.xml", "views/account_move_view.xml"], "installable": True, + "post_init_hook": "post_init_hook", } diff --git a/account_move_line_purchase_info/hooks.py b/account_move_line_purchase_info/hooks.py new file mode 100644 index 000000000..160335209 --- /dev/null +++ b/account_move_line_purchase_info/hooks.py @@ -0,0 +1,18 @@ +# Copyright 2021 Carlos Lopez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +def post_init_hook(cr, registry): + + """ INIT purchase references in acount move line """ + # FOR stock moves + cr.execute( + """ + UPDATE account_move_line aml + SET purchase_line_id = sm.purchase_line_id, purchase_id = pol.order_id + FROM stock_move sm + INNER JOIN purchase_order_line pol ON pol.id = sm.purchase_line_id + INNER JOIN account_move am ON am.stock_move_id = sm.id + WHERE am.id = aml.move_id AND sm.purchase_line_id IS NOT NULL; + """ + )