[FIX] base: ir.qweb: ensure element.tail is correctly encoded
authorChristophe Combelles <ccomb@free.fr>
Thu, 10 Jul 2014 14:47:06 +0000 (17:47 +0300)
committerOlivier Dony <odo@openerp.com>
Wed, 30 Jul 2014 09:41:15 +0000 (11:41 +0200)
element.{text,tail} are either ascii-compatible `str`, or `unicode`
when non-ascii-compatible. This could force the implicit decoding
of utf-8 encoded contents when joining template bits, breaking
the rendering.

Fixes #1085, and related to #1130

openerp/addons/base/ir/ir_qweb.py

index 741f8d4..48d9c24 100644 (file)
@@ -289,7 +289,7 @@ class QWeb(orm.AbstractModel):
             result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
 
         if element.tail:
-            result += element.tail
+            result += element.tail.encode('utf-8')
 
         if isinstance(result, unicode):
             return result.encode('utf-8')