update-report_carbone-to-make-it-work #2

Merged
mondot merged 2 commits from update-report_carbone-to-make-it-work into 18.0 2026-04-23 07:43:53 +00:00
2 changed files with 8 additions and 8 deletions
Showing only changes of commit 16d6d58613 - Show all commits

View File

@@ -90,8 +90,7 @@ class CarboneReportController(ReportController):
carbone_report = request.env["ir.actions.report"]._get_report_from_name(reportname)
self.check_carbone_report(carbone_report)
report_content, extension = request.env["ir.actions.report"]._render_carbone(carbone_report, docids)
filename = f"{carbone_report.report_name}.{extension}"
report_content, extension, filename = request.env["ir.actions.report"]._render_carbone(carbone_report, docids)
headers = _get_headers(extension, report_content, filename)
return request.make_response(report_content, headers)

View File

@@ -651,7 +651,7 @@ class IrActionsReportCarbone(models.Model):
else:
_logger.info("The PDF documents %r are now saved in the database", attachment_names)
def _render_carbone(self, report_ref, docids: str | list, data=None) -> tuple[bytes, str]:
def _render_carbone(self, report_ref, docids: str | list, data=None) -> tuple[bytes, str, str | bool]:
context = dict(self.env.context)
report_sudo = self._get_report(report_ref)
@@ -676,13 +676,14 @@ class IrActionsReportCarbone(models.Model):
streams_to_dl = list(stream_to_ids.keys())
if not context.get("from_ir_report_controller") or len(streams_to_dl) == 1:
pdf_content = streams_to_dl[0].getvalue()
# stream_to_ids[streams_to_dl[0]] contains [record_id, filename, extension]
extension = stream_to_ids[streams_to_dl[0]][2]
return pdf_content, extension
stream = streams_to_dl[0]
pdf_content = stream.getvalue()
filename = stream_to_ids[stream][1]
extension = stream_to_ids[stream][2]
return pdf_content, extension, filename
zip_content = _build_zip_from_data(stream_to_ids)
return zip_content, "zip"
return zip_content, "zip", f"{report_sudo.name}.zip"
def _retrieve_carbone_filename(self, records, output_file_extension: str) -> str:
self.ensure_one()