From 7064e93e6650fea2a94692669d5fdb94165ad3f3 Mon Sep 17 00:00:00 2001 From: Tomasz Walter Date: Thu, 25 Jun 2026 11:58:44 +0200 Subject: [PATCH 1/2] [FIX] report_pdf_form: handle also models.Model or id as report_ref --- report_pdf_form/models/ir_actions_report.py | 8 +++++--- report_pdf_form/tests/test_report_pdf_form.py | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/report_pdf_form/models/ir_actions_report.py b/report_pdf_form/models/ir_actions_report.py index 8a75e96387..b5fea11846 100644 --- a/report_pdf_form/models/ir_actions_report.py +++ b/report_pdf_form/models/ir_actions_report.py @@ -23,10 +23,12 @@ class IrActionsReport(models.Model): _inherit = "ir.actions.report" def _render_qweb_pdf_prepare_streams(self, report_ref, data, res_ids=None): - pdf_form_report = self.env["report.pdf.form"].search( - [("report_name", "=", report_ref)] + ReportPdfFormSudo = self.env["report.pdf.form"].sudo() + report = self._get_report(report_ref) + pdf_form_report = ReportPdfFormSudo.search( + [("report_id", "=", report.id)], + limit=1, ) - if not pdf_form_report: return super()._render_qweb_pdf_prepare_streams( report_ref, data, res_ids=res_ids diff --git a/report_pdf_form/tests/test_report_pdf_form.py b/report_pdf_form/tests/test_report_pdf_form.py index ca4a697dc6..3a1a95fbf6 100644 --- a/report_pdf_form/tests/test_report_pdf_form.py +++ b/report_pdf_form/tests/test_report_pdf_form.py @@ -91,7 +91,7 @@ def _get_fields_values_from_reader(cls, reader): res[pdf_object["/T"].split("__")[1]] = pdf_object["/V"] return res - def test_fill_pdf_form(self): + def test_fill_pdf_form_by_name(self): streams_dict = self.env["ir.actions.report"]._render_qweb_pdf_prepare_streams( "pdf_form.example", {}, res_ids=self.azure_partner.ids ) @@ -108,3 +108,19 @@ def test_fill_pdf_form(self): self.assertEqual(pdf_field_value, self.azure_partner.child_ids[0].name) elif pdf_field_name == "form_line_2": self.assertEqual(pdf_field_value, "") + + def test_fill_pdf_form_by_id(self): + """report_ref passed as int (report id) must not raise AssertionError.""" + streams_dict = self.env["ir.actions.report"]._render_qweb_pdf_prepare_streams( + self.empty_report.id, {}, res_ids=self.azure_partner.ids + ) + self.assertIn(self.azure_partner.id, streams_dict) + self.assertIsNotNone(streams_dict[self.azure_partner.id]["stream"]) + + def test_fill_pdf_form_by_record(self): + """report_ref passed as models.Model recordset must not raise AssertionError.""" + streams_dict = self.env["ir.actions.report"]._render_qweb_pdf_prepare_streams( + self.empty_report, {}, res_ids=self.azure_partner.ids + ) + self.assertIn(self.azure_partner.id, streams_dict) + self.assertIsNotNone(streams_dict[self.azure_partner.id]["stream"]) From 52e03a544f25b789ed34a0e842603ce0b80f36aa Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 25 Jun 2026 14:40:46 +0000 Subject: [PATCH 2/2] [BOT] post-merge updates --- README.md | 2 +- report_pdf_form/README.rst | 2 +- report_pdf_form/__manifest__.py | 2 +- report_pdf_form/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 06b53b5648..0b6715f566 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ addon | version | maintainers | summary [report_label](report_label/) | 18.0.1.0.0 | ivantodorovich | Print configurable self-adhesive labels reports [report_layout_config](report_layout_config/) | 18.0.1.0.0 | | Add possibility to easily modify the global report layout [report_partner_address](report_partner_address/) | 18.0.1.0.0 | yostashiro aungkokolin1997 | Translatable partner address details for reports and portal -[report_pdf_form](report_pdf_form/) | 18.0.1.0.0 | grindtildeath | Fill custom PDF form reports +[report_pdf_form](report_pdf_form/) | 18.0.1.0.1 | grindtildeath | Fill custom PDF form reports [report_pdf_zip_download](report_pdf_zip_download/) | 18.0.1.0.0 | | Report PDF ZIP Download [report_positioned_image](report_positioned_image/) | 18.0.1.0.0 | | Add positioned images to PDF reports. [report_py3o](report_py3o/) | 18.0.1.0.3 | | Reporting engine based on Libreoffice (ODT -> ODT, ODT -> PDF, ODT -> DOC, ODT -> DOCX, ODS -> ODS, etc.) diff --git a/report_pdf_form/README.rst b/report_pdf_form/README.rst index 5c92625cde..cf46ab2517 100644 --- a/report_pdf_form/README.rst +++ b/report_pdf_form/README.rst @@ -11,7 +11,7 @@ Report PDF Form !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:50d8a5bc56259a22c4c2ac64ba9b38c9d5755859dee53f93a0dbd06b84b7a15a + !! source digest: sha256:b6ee04458d26d30e9200f26b57fa75227f989bf4d76c18aaf79999581c7209a8 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png diff --git a/report_pdf_form/__manifest__.py b/report_pdf_form/__manifest__.py index 2bbdee8ce0..8183f1acec 100644 --- a/report_pdf_form/__manifest__.py +++ b/report_pdf_form/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Report PDF Form", "summary": "Fill custom PDF form reports ", - "version": "18.0.1.0.0", + "version": "18.0.1.0.1", "development_status": "Alpha", "category": "Reporting", "website": "https://github.com/OCA/reporting-engine", diff --git a/report_pdf_form/static/description/index.html b/report_pdf_form/static/description/index.html index fcc3b22318..745989e62a 100644 --- a/report_pdf_form/static/description/index.html +++ b/report_pdf_form/static/description/index.html @@ -372,7 +372,7 @@

Report PDF Form

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:50d8a5bc56259a22c4c2ac64ba9b38c9d5755859dee53f93a0dbd06b84b7a15a +!! source digest: sha256:b6ee04458d26d30e9200f26b57fa75227f989bf4d76c18aaf79999581c7209a8 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Alpha License: LGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

This module allows to use PDF files having form field as Odoo reports to