[IMP] ir.qweb: avoid repeatedly searching the registry for nonexistant widget models

This commit is contained in:
Olivier Dony 2014-08-05 17:19:36 +02:00
parent 2e5412fc1d
commit d837d4b497
1 changed files with 3 additions and 2 deletions

View File

@ -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: