diff options
| author | Christophe Matthieu <chm@odoo.com> | 2014-12-18 17:20:46 +0100 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2014-12-18 22:50:12 +0100 |
| commit | 4734cbab4d72afcc5b92b2e1714bc372800aae41 (patch) | |
| tree | 55bed4486c9f0d8bfbd2067799eca597cc84f025 /addons/website/models/ir_qweb.py | |
| parent | 790312dbf92e302f40782a60c5dc208cd6877079 (diff) | |
[IMP] website.snippet: snippets can be splitted into separate template and be called into the lits of the snippet
Diffstat (limited to 'addons/website/models/ir_qweb.py')
| -rw-r--r-- | addons/website/models/ir_qweb.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/addons/website/models/ir_qweb.py b/addons/website/models/ir_qweb.py index d840bb93784..c27e7c90335 100644 --- a/addons/website/models/ir_qweb.py +++ b/addons/website/models/ir_qweb.py @@ -69,6 +69,23 @@ class QWeb(orm.AbstractModel): return super(QWeb, self).render_attribute(element, name, value, qwebcontext) + def render_tag_snippet(self, element, template_attributes, generated_attributes, qwebcontext): + d = qwebcontext.copy() + d[0] = self.render_element(element, template_attributes, generated_attributes, d) + cr = d.get('request') and d['request'].cr or None + uid = d.get('request') and d['request'].uid or None + + template = self.eval_format(template_attributes["snippet"], d) + elements = html.fragments_fromstring(self.render(cr, uid, template, d)) + + id = int(elements[0].get('data-oe-id', None)) + elements[0].set('data-oe-name', self.pool['ir.ui.view'].browse(cr, uid, id, context=qwebcontext.context).name) + elements[0].set('data-oe-type', "snippet") + + elements[0].set('data-oe-thumbnail', template_attributes.get('thumbnail', "oe-thumbnail")) + + return "".join(map(html.tostring, elements)) + def render_tag_call_assets(self, element, template_attributes, generated_attributes, qwebcontext): if request and request.website and request.website.cdn_activated: if qwebcontext.context is None: |
