[IMP] Use LazyResponse for website.render()
bzr revid: fme@openerp.com-20131120202842-zethge8jykzlzjjy
This commit is contained in:
parent
2f0f411b43
commit
7d43b226ab
|
@ -261,8 +261,9 @@ class Website(openerp.addons.web.controllers.main.Home):
|
|||
|
||||
@website.route(['/robots.txt'], type='http', auth="public")
|
||||
def robots(self):
|
||||
body = request.website.render('website.robots', {'url_root': request.httprequest.url_root})
|
||||
return request.make_response(body, headers=[('Content-Type', 'text/plain')])
|
||||
response = request.website.render('website.robots', {'url_root': request.httprequest.url_root})
|
||||
response.mimetype = 'text/plain'
|
||||
return response
|
||||
|
||||
@website.route('/sitemap', type='http', auth='public', multilang=True)
|
||||
def sitemap(self):
|
||||
|
@ -270,14 +271,11 @@ class Website(openerp.addons.web.controllers.main.Home):
|
|||
|
||||
@website.route('/sitemap.xml', type='http', auth="public")
|
||||
def sitemap_xml(self):
|
||||
body = request.website.render('website.sitemap_xml', {
|
||||
response = request.website.render('website.sitemap_xml', {
|
||||
'pages': request.website.enumerate_pages()
|
||||
})
|
||||
|
||||
return request.make_response(body, [
|
||||
('Content-Type', 'application/xml;charset=utf-8')
|
||||
])
|
||||
|
||||
response.headers['Content-Type'] = 'application/xml;charset=utf-8'
|
||||
return response
|
||||
|
||||
class Images(http.Controller):
|
||||
def placeholder(self, response):
|
||||
|
|
|
@ -20,8 +20,7 @@ from openerp.osv import orm, osv, fields
|
|||
from openerp.tools.safe_eval import safe_eval
|
||||
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.http import request
|
||||
|
||||
from openerp.addons.web.http import request, LazyResponse
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -157,7 +156,7 @@ class website(osv.osv):
|
|||
'translatable': not is_public_user and not is_master_lang and request.multilang,
|
||||
})
|
||||
|
||||
def render(self, cr, uid, ids, template, values=None, context=None):
|
||||
def _render(self, cr, uid, ids, template, values=None, context=None):
|
||||
view = self.pool.get("ir.ui.view")
|
||||
IMD = self.pool.get("ir.model.data")
|
||||
user = self.pool.get("res.users")
|
||||
|
@ -221,6 +220,13 @@ class website(osv.osv):
|
|||
return self.error(cr, uid, 500 if qweb_context['editable'] else 404,
|
||||
qweb_context, context=context)
|
||||
|
||||
def render(self, cr, uid, ids, template, values=None, context=None):
|
||||
def callback(template, values, context):
|
||||
return self._render(cr, uid, ids, template, values, context)
|
||||
if values is None:
|
||||
values = {}
|
||||
return LazyResponse(callback, template=template, values=values, context=context)
|
||||
|
||||
def error(self, cr, uid, code, qweb_context, context=None):
|
||||
View = request.registry['ir.ui.view']
|
||||
return werkzeug.wrappers.Response(
|
||||
|
@ -478,7 +484,7 @@ class website(osv.osv):
|
|||
object_ids = model_obj.search(cr, uid, domain, limit=step, offset=offset, order=orderby)
|
||||
object_ids = model_obj.browse(cr, uid, object_ids)
|
||||
for object_id in object_ids:
|
||||
html += request.website.render(template, {'object_id': object_id})
|
||||
html += request.website._render(template, {'object_id': object_id})
|
||||
return html
|
||||
|
||||
def get_menu(self, cr, uid, ids, context=None):
|
||||
|
|
Loading…
Reference in New Issue