Compare commits

..

1 Commits

Author SHA1 Message Date
830c7d7577 debug-report_carbone-with-claude 2026-04-21 17:33:31 +02:00
2 changed files with 8 additions and 8 deletions

View File

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

View File

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