From 67a4bab110de5b233f335266ed1d50f528a5612b Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Mon, 17 Oct 2016 21:01:30 +0200 Subject: [PATCH] [FIX] email_template_qweb: Decode body when encoded If the result is of type unicode, render method encodes it in utf-8. We need to decode it in that case so that the rendering results correct. --- email_template_qweb/models/mail_template.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/email_template_qweb/models/mail_template.py b/email_template_qweb/models/mail_template.py index ecade048..a3c99051 100644 --- a/email_template_qweb/models/mail_template.py +++ b/email_template_qweb/models/mail_template.py @@ -27,11 +27,16 @@ class MailTemplate(models.Model): if this.body_type == 'qweb' and\ (not fields or 'body_html' in fields): for record in self.env[this.model].browse(record_id): + body_html = this.body_view_id.render({ + 'object': record, + 'email_template': this, + }) + # Some wizards, like when sending a sales order, need this + # fix to display accents correctly + if not isinstance(body_html, unicode): + body_html = body_html.decode('utf-8') result[record_id]['body_html'] = self.render_post_process( - this.body_view_id.render({ - 'object': record, - 'email_template': this, - }) + body_html ) result[record_id]['body'] = tools.html_sanitize( result[record_id]['body_html']