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 |
| 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 |
| Translatable partner address details for reports and portal
-[report_pdf_form](report_pdf_form/) | 18.0.1.0.0 |
| Fill custom PDF form reports
+[report_pdf_form](report_pdf_form/) | 18.0.1.0.1 |
| 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/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/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 @@
This module allows to use PDF files having form field as Odoo reports to 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"])