From e9c7fc0d9319ce5fb5fb83de310f902fc7195979 Mon Sep 17 00:00:00 2001 From: Jorge Pinna Puissant Date: Mon, 25 Mar 2019 14:16:26 +0000 Subject: [PATCH] [FIX] base: split _get_rendering_context to allow different models Allowing to override the _get_rendering_context and call the new function (_get_rendreing_context_model) with a different custom model to render the html. opw-1946792 closes odoo/odoo#32101 Signed-off-by: Jorge Pinna Puissant (jpp) --- odoo/addons/base/models/ir_actions_report.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/odoo/addons/base/models/ir_actions_report.py b/odoo/addons/base/models/ir_actions_report.py index c33a408ae61..d3a2feeecbe 100644 --- a/odoo/addons/base/models/ir_actions_report.py +++ b/odoo/addons/base/models/ir_actions_report.py @@ -721,12 +721,16 @@ class IrActionsReport(models.Model): data = self._get_rendering_context(docids, data) return self.render_template(self.report_name, data), 'html' + @api.model + def _get_rendering_context_model(self): + report_model_name = 'report.%s' % self.report_name + return self.env.get(report_model_name) + @api.model def _get_rendering_context(self, docids, data): # If the report is using a custom model to render its html, we must use it. # Otherwise, fallback on the generic html rendering. - report_model_name = 'report.%s' % self.report_name - report_model = self.env.get(report_model_name) + report_model = self._get_rendering_context_model() data = data and dict(data) or {}