From c4ab9a5b3b56f9675c9eaef3db3f9234393f169f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt?= Date: Mon, 3 Feb 2025 11:16:57 +0100 Subject: [PATCH] port add pdf to v16 --- account_invoice_inter_company/models/account_move.py | 9 +++++---- .../tests/test_inter_company_invoice.py | 2 ++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/account_invoice_inter_company/models/account_move.py b/account_invoice_inter_company/models/account_move.py index 6284b912dd5..69cc4f3c382 100644 --- a/account_invoice_inter_company/models/account_move.py +++ b/account_invoice_inter_company/models/account_move.py @@ -1,7 +1,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -import logging import base64 +import logging from odoo import _, api, fields, models from odoo.exceptions import AccessError, UserError @@ -72,8 +72,8 @@ def action_post(self): src_invoice.with_company(dest_company.id).with_context( skip_check_amount_difference=True )._inter_company_create_invoice(dest_company) - if src_invoice.move_type in ["out_invoice", "out_refund"]: - src_invoice._attach_original_pdf_report() + for invoice in self.filtered(lambda i: i.is_sale_document()): + invoice.sudo()._attach_original_pdf_report() # set invoice ref on supplier invoice when the customer invoice is validated # (case where the source invoice was the supplier one) for invoice in self.filtered( @@ -86,7 +86,8 @@ def _attach_original_pdf_report(self): supplier_invoice = self.auto_invoice_id if not supplier_invoice: supplier_invoice = self.search([("auto_invoice_id", "=", self.id)], limit=1) - pdf = self.env.ref("account.account_invoices")._render_qweb_pdf([self.id])[0] + report = self.env.ref("account.account_invoices").with_company(self.company_id) + pdf = report._render_qweb_pdf(report.report_name, [self.id])[0] self.env["ir.attachment"].create( { "name": self.name + ".pdf", diff --git a/account_invoice_inter_company/tests/test_inter_company_invoice.py b/account_invoice_inter_company/tests/test_inter_company_invoice.py index 79f40aa2f7c..a94d2bbe5c6 100644 --- a/account_invoice_inter_company/tests/test_inter_company_invoice.py +++ b/account_invoice_inter_company/tests/test_inter_company_invoice.py @@ -571,6 +571,8 @@ def test_purchase_attachement_in_invoice(self): ) self.assertEqual(len(bill_a_pdf), 1) self.assertEqual(bill_a_pdf.name, invoice_company_b.name + ".pdf") + invoice_company_b.button_cancel() + invoice_company_b.action_post() def _confirm_invoice_with_product(self): # Confirm the invoice of company A