36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
# Copyright 2004-2011 Pexego Sistemas Informáticos. (http://pexego.es)
|
|
# Copyright 2016 Tecnativa - Antonio Espinosa
|
|
# Copyright 2014-2023 Tecnativa - Pedro M. Baeza
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
from odoo import fields, models
|
|
|
|
|
|
class AccountInvoiceLine(models.Model):
|
|
_inherit = "account.move.line"
|
|
|
|
origin_line_id = fields.Many2one(
|
|
comodel_name="account.move.line",
|
|
string="Original invoice line",
|
|
help="Original invoice line to which this refund invoice line is referred to",
|
|
copy=False,
|
|
index=True,
|
|
)
|
|
refund_line_ids = fields.One2many(
|
|
comodel_name="account.move.line",
|
|
inverse_name="origin_line_id",
|
|
string="Refund invoice lines",
|
|
help="Refund invoice lines created from this invoice line",
|
|
copy=False,
|
|
)
|
|
|
|
def copy_data(self, default=None):
|
|
"""Link refund lines with the original ones when copying move lines from the
|
|
`_reverse_move_vals` method.
|
|
"""
|
|
res = super().copy_data(default=default)
|
|
if self.env.context.get("link_origin_line"):
|
|
for line, values in zip(self, res, strict=False):
|
|
values["origin_line_id"] = line.id
|
|
return res
|