From 0e7dd234e5a0573712907020fd2d956f93fc0a79 Mon Sep 17 00:00:00 2001 From: dtec-landoo Date: Tue, 24 Jun 2025 10:55:52 +0200 Subject: [PATCH 1/3] [16.0][FIX] hr_expense_invoice: Delete the lines that are already invoiced when creating the bill values --- hr_expense_invoice/__manifest__.py | 2 +- hr_expense_invoice/models/hr_expense_sheet.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hr_expense_invoice/__manifest__.py b/hr_expense_invoice/__manifest__.py index 1387d28b9..a5f60a075 100644 --- a/hr_expense_invoice/__manifest__.py +++ b/hr_expense_invoice/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Supplier invoices on HR expenses", - "version": "16.0.2.0.3", + "version": "16.0.2.0.4", "category": "Human Resources", "author": "Tecnativa, Odoo Community Association (OCA)", "license": "AGPL-3", diff --git a/hr_expense_invoice/models/hr_expense_sheet.py b/hr_expense_invoice/models/hr_expense_sheet.py index 835d2e1e9..3b9ca85b3 100644 --- a/hr_expense_invoice/models/hr_expense_sheet.py +++ b/hr_expense_invoice/models/hr_expense_sheet.py @@ -2,7 +2,7 @@ # Copyright 2015-2024 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import _, api, fields, models +from odoo import _, api, fields, models, Command from odoo.exceptions import UserError from odoo.tools import float_compare @@ -112,3 +112,9 @@ def action_view_invoices(self): action["view_mode"] = "tree,form" action["domain"] = [("id", "in", invoice_ids)] return action + + def _prepare_bill_vals(self): + ret = super(HrExpenseSheet, self)._prepare_bill_vals() + ret['line_ids'] = [Command.create(expense._prepare_move_line_vals()) for expense in self.expense_line_ids.filtered(lambda r: not r.invoice_id)] + return ret + From b7bc08de3c5f86fad651f904643e9450e8293aff Mon Sep 17 00:00:00 2001 From: dtec-landoo Date: Tue, 24 Jun 2025 11:26:44 +0200 Subject: [PATCH 2/3] [16.0][FIX] hr_expense_invoice: Delete the lines that are already invoiced when creating the bill values 2.0 --- hr_expense_invoice/models/hr_expense_sheet.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hr_expense_invoice/models/hr_expense_sheet.py b/hr_expense_invoice/models/hr_expense_sheet.py index 3b9ca85b3..81810c93f 100644 --- a/hr_expense_invoice/models/hr_expense_sheet.py +++ b/hr_expense_invoice/models/hr_expense_sheet.py @@ -2,7 +2,7 @@ # Copyright 2015-2024 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import _, api, fields, models, Command +from odoo import Command, _, api, fields, models from odoo.exceptions import UserError from odoo.tools import float_compare @@ -115,6 +115,9 @@ def action_view_invoices(self): def _prepare_bill_vals(self): ret = super(HrExpenseSheet, self)._prepare_bill_vals() - ret['line_ids'] = [Command.create(expense._prepare_move_line_vals()) for expense in self.expense_line_ids.filtered(lambda r: not r.invoice_id)] + ret["line_ids"] = [ + Command.create(expense._prepare_move_line_vals()) + for expense in self.expense_line_ids.filtered(lambda r: not r.invoice_id) + ] return ret From 005b8c558624c155bfdd46fa36348473296d8672 Mon Sep 17 00:00:00 2001 From: dtec-landoo Date: Tue, 24 Jun 2025 11:34:17 +0200 Subject: [PATCH 3/3] [16.0][FIX] hr_expense_invoice: Delete the lines that are already invoiced when creating the bill values 3.0 --- hr_expense_invoice/models/hr_expense_sheet.py | 1 - 1 file changed, 1 deletion(-) diff --git a/hr_expense_invoice/models/hr_expense_sheet.py b/hr_expense_invoice/models/hr_expense_sheet.py index 81810c93f..44a1742a3 100644 --- a/hr_expense_invoice/models/hr_expense_sheet.py +++ b/hr_expense_invoice/models/hr_expense_sheet.py @@ -120,4 +120,3 @@ def _prepare_bill_vals(self): for expense in self.expense_line_ids.filtered(lambda r: not r.invoice_id) ] return ret -