[FIX] ensure all g_inner content is correctly encoded

fixes #1130

* provided `inner` data may or may not have been encoded
* `element.text` is either ascii-compatible `str` or `unicode` when
  non-ascii-compatible, which could force the decoding of utf8-encoded content
  during g_inner's join
This commit is contained in:
Xavier Morel 2014-07-14 13:42:35 +02:00
parent 7c540bc4ee
commit 7a2961da76
1 changed files with 2 additions and 2 deletions

View File

@ -302,9 +302,9 @@ class QWeb(orm.AbstractModel):
# qwebcontext: values
# inner: optional innerXml
if inner:
g_inner = inner
g_inner = inner.encode('utf-8') if isinstance(inner, unicode) else inner
else:
g_inner = [] if element.text is None else [element.text]
g_inner = [] if element.text is None else [element.text.encode('utf-8')]
for current_node in element.iterchildren(tag=etree.Element):
try:
g_inner.append(self.render_node(current_node, qwebcontext))