diff --git a/openerp/addons/base/ir/ir_qweb.py b/openerp/addons/base/ir/ir_qweb.py index 48d9c24e521ed1298eb2e62497136d12e420df9f..01400de5a1f9ba09e427f49bd63396b158c7abc7 100644 --- a/openerp/addons/base/ir/ir_qweb.py +++ b/openerp/addons/base/ir/ir_qweb.py @@ -353,7 +353,7 @@ class QWeb(orm.AbstractModel): def render_tag_esc(self, element, template_attributes, generated_attributes, qwebcontext): options = json.loads(template_attributes.get('esc-options') or '{}') - widget = self.get_widget_for(options.get('widget', '')) + widget = self.get_widget_for(options.get('widget')) inner = widget.format(template_attributes['esc'], options, qwebcontext) return self.render_element(element, template_attributes, generated_attributes, qwebcontext, inner) @@ -462,7 +462,8 @@ class QWeb(orm.AbstractModel): return self.pool.get('ir.qweb.field.' + field_type, self.pool['ir.qweb.field']) def get_widget_for(self, widget): - return self.pool.get('ir.qweb.widget.' + widget, self.pool['ir.qweb.widget']) + widget_model = ('ir.qweb.widget.' + widget) if widget else 'ir.qweb.widget' + return self.pool.get(widget_model) or self.pool['ir.qweb.widget'] def get_attr_bool(self, attr, default=False): if attr: