From d837d4b4977ac12443bbe862f4f3c397bc5b08fb Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Tue, 5 Aug 2014 17:19:36 +0200 Subject: [PATCH] [IMP] ir.qweb: avoid repeatedly searching the registry for nonexistant widget models --- openerp/addons/base/ir/ir_qweb.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/ir/ir_qweb.py b/openerp/addons/base/ir/ir_qweb.py index 48d9c24e521e..01400de5a1f9 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: -- GitLab