Files
manufacture/mrp_subcontracting_resupply_link/models/stock_picking.py
2022-08-22 09:05:45 +02:00

34 lines
1.2 KiB
Python

# Copyright 2022 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from odoo import api, fields, models
class StockPicking(models.Model):
_inherit = "stock.picking"
subcontracting_purchase_order_id = fields.Many2one(
comodel_name="purchase.order",
compute="_compute_subcontracting_purchase_order_id",
store=True,
string="Subcontracting order",
)
@api.depends("move_lines", "move_lines.rule_id", "move_lines.move_dest_ids")
def _compute_subcontracting_purchase_order_id(self):
for item in self:
move_dests = item.move_lines.filtered(
lambda x: x.rule_id and x.move_dest_ids
)
order_id = False
if move_dests:
productions = move_dests.mapped(
"move_dest_ids.raw_material_production_id"
)
group = productions.picking_ids.group_id
moves = group.stock_move_ids.move_dest_ids.filtered(
lambda x: x.is_subcontract and x.purchase_line_id
)
order_id = fields.first(moves.mapped("purchase_line_id.order_id"))
item.subcontracting_purchase_order_id = order_id