[MERGE] from saas-3
authorChristophe Matthieu <chm@openerp.com>
Fri, 7 Feb 2014 14:09:12 +0000 (15:09 +0100)
committerChristophe Matthieu <chm@openerp.com>
Fri, 7 Feb 2014 14:09:12 +0000 (15:09 +0100)
bzr revid: chm@openerp.com-20140207140912-2tu1bhpvlap0fa4m

1  2 
addons/website/models/ir_ui_view.py
addons/website/static/src/js/website.snippets.editor.js

@@@ -117,6 -121,42 +121,42 @@@ class view(osv.osv)
  
          return arch
  
+     def render(self, cr, uid, id_or_xml_id, values=None, engine='ir.qweb', context=None):
 -        if request.website_enabled:
++        if getattr(request, 'website_enabled', False):
+             engine='website.qweb'
+             if isinstance(id_or_xml_id, list):
+                 id_or_xml_id = id_or_xml_id[0]
+             if isinstance(id_or_xml_id, (int, long)):
+                 id_or_xml_id = self.get_view_xmlid(cr, uid, id_or_xml_id)
+             if not context:
+                 context = {}
+             qcontext = context.copy()
+             qcontext.update(
+                 website=request.website,
+                 url_for=website.url_for,
+                 slug=website.slug,
+                 res_company=request.website.company_id,
+                 user_id=self.pool.get("res.users").browse(cr, uid, uid),
+             )
+             # add some values
+             if values:
+                 qcontext.update(values)
+             # in edit mode ir.ui.view will tag nodes
+             context['inherit_branding'] = qcontext['editable']
+             view_obj = request.website.get_template(id_or_xml_id)
+             if 'main_object' not in qcontext:
+                 qcontext['main_object'] = view_obj
+             values = qcontext
+         return super(view, self).render(cr, uid, id_or_xml_id, values=values, engine=engine, context=context)
      def save(self, cr, uid, res_id, value, xpath=None, context=None):
          """ Update a view section. The view section may embed fields to write