# Copyright (C) 2017 Eficent Business and IT Consulting Services S.L. # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html) from odoo import fields, models class StockRule(models.Model): _inherit = "stock.rule" rma_line_id = fields.Many2one( comodel_name="rma.order.line", string="RMA line", ondelete="set null" ) def _get_stock_move_values( self, product_id, product_qty, product_uom, location_id, name, origin, values, group_id, ): res = super(StockRule, self)._get_stock_move_values( product_id, product_qty, product_uom, location_id, name, origin, values, group_id, ) if "rma_line_id" in values: line = self.env["rma.order.line"].browse(values.get("rma_line_id")) res["rma_line_id"] = line.id if line.delivery_address_id: res["partner_id"] = line.delivery_address_id.id else: res["partner_id"] = line.rma_id.partner_id.id dest_loc = self.env["stock.location"].browse([res["location_dest_id"]])[0] if dest_loc.usage == "internal": res["price_unit"] = line.price_unit return res class ProcurementGroup(models.Model): _inherit = "procurement.group" rma_id = fields.Many2one( comodel_name="rma.order", string="RMA", ondelete="set null" ) rma_line_id = fields.Many2one( comodel_name="rma.order.line", string="RMA line", ondelete="set null" )