From 587b21fb4676fedca5776348a6594a64517241dd Mon Sep 17 00:00:00 2001 From: Martin Geubelle Date: Mon, 24 Sep 2018 16:32:19 +0200 Subject: [PATCH] [FIX] base: correctly keep report values When rendering a report (`render_qweb_html` for example), one can pass `data` (a dict of values, used for the template rendering). This dict was overriden in `_get_rendering_context` if the method `_get_report_values` on the report model was not correctly written. This was causing an issue when rendering a report in Studio because the `studio` key was overriden. Now, the `data` dict is updated (instead of replaced) with the rendering context. --- odoo/addons/base/models/ir_actions_report.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/odoo/addons/base/models/ir_actions_report.py b/odoo/addons/base/models/ir_actions_report.py index e58e1bc9665..00f57434161 100644 --- a/odoo/addons/base/models/ir_actions_report.py +++ b/odoo/addons/base/models/ir_actions_report.py @@ -705,12 +705,12 @@ class IrActionsReport(models.Model): report_model_name = 'report.%s' % self.report_name report_model = self.env.get(report_model_name) + data = data and dict(data) or {} + if report_model is not None: - data = report_model._get_report_values(docids, data=data) + data.update(report_model._get_report_values(docids, data=data)) else: docs = self.env[self.model].browse(docids) - if not data: - data = {} data.update({ 'doc_ids': docids, 'doc_model': self.model,