diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py index fca4e089ae3..45a2e40d04f 100644 --- a/openerp/addons/base/ir/ir_ui_view.py +++ b/openerp/addons/base/ir/ir_ui_view.py @@ -754,7 +754,7 @@ class view(osv.osv): if e.attrib.get('data-oe-model'): # if a branded tag containg branded tag distribute to the childs child_text = "".join([etree.tostring(x, encoding='utf-8') for x in e]) - if re.search('(data-oe-model=|t-esc=|t-raw=)',child_text): + if re.search('(data-oe-model=|t-esc=|t-raw=|t-field=)',child_text): for i in branding_copy: if e.attrib.get(i): branding_dist[i] = e.attrib.get(i) diff --git a/openerp/tools/qweb.py b/openerp/tools/qweb.py index 8bd1371e8c5..221bf138e28 100644 --- a/openerp/tools/qweb.py +++ b/openerp/tools/qweb.py @@ -276,4 +276,20 @@ class QWebXml(object): v[t_att["set"]] = self.render_element(e, t_att, g_att, v) return "" + def render_tag_field(self, e, t_att, g_att, v): + """ eg: +1 555 555 8069""" + record = v[t_att["record"]] + + if record._model._columns.get(t_att["field"])._type == 'many2one': + inner = cgi.escape(str(getattr(record, t_att["field"]).name_get()[0][1])) + else: + inner = cgi.escape(str(getattr(record, t_att["field"]))) + + if e.tagName != 't': + # are escaped + g_att += ' %s="%s"' % ('data-oe-model', record._model._name) + g_att += ' %s="%s"' % ('data-oe-id', str(record.id)) + g_att += ' %s="%s"' % ('data-oe-field', t_att["field"]) + return self.render_element(e, t_att, g_att, v, inner) + # leave this, al.