add t-field and t-record in rendering

bzr revid: mat@openerp.com-20130701155541-20plkar9a89qosij
This commit is contained in:
Martin Trigaux
2013-07-01 17:55:41 +02:00
parent 7786d96095
commit e372cbbce4
2 changed files with 17 additions and 1 deletions
+1 -1
View File
@@ -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)
+16
View File
@@ -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: <span t-record="browse_record(res.partner, 1)" t-field="phone">+1 555 555 8069</span>"""
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':
# <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.