[REM] Removed LazyResponse from webclient, use request.render() instead

bzr revid: fme@openerp.com-20140218161806-j7qn4dutjtlfqjc1
This commit is contained in:
Fabien Meghazi 2014-02-18 17:18:06 +01:00
parent cbc987191c
commit 6cce7e6dba
1 changed files with 12 additions and 16 deletions

View File

@ -33,7 +33,7 @@ import openerp.modules.registry
from openerp.tools.translate import _
from openerp import http
from openerp.http import request, serialize_exception as _serialize_exception, LazyResponse
from openerp.http import request, serialize_exception as _serialize_exception
_logger = logging.getLogger(__name__)
@ -591,12 +591,13 @@ html_template = """<!DOCTYPE html>
</html>
"""
def render_bootstrap_template(db, template, values=None, debug=False, lazy=False, **kw):
if request and request.debug:
def render_bootstrap_template(template, values=None, debug=False, db=None, **kw):
if not db:
db = request.db
if request.debug:
debug = True
if values is None:
values = {}
values.update(kw)
values['debug'] = debug
values['current_db'] = db
try:
@ -612,15 +613,7 @@ def render_bootstrap_template(db, template, values=None, debug=False, lazy=False
values['modules'] = module_boot(db=db)
values['modules'] = simplejson.dumps(values['modules'])
def callback(template, values):
registry = openerp.modules.registry.RegistryManager.get(db)
with registry.cursor() as cr:
view_obj = registry["ir.ui.view"]
return view_obj.render(cr, openerp.SUPERUSER_ID, template, values)
if lazy:
return LazyResponse(callback, template=template, values=values)
else:
return callback(template, values)
return request.render(template, values, uid=openerp.SUPERUSER_ID, **kw)
class Home(http.Controller):
@ -633,8 +626,11 @@ class Home(http.Controller):
ensure_db()
if request.session.uid:
html = render_bootstrap_template(request.session.db, "web.webclient_bootstrap")
return request.make_response(html, {'Cache-Control': 'no-cache', 'Content-Type': 'text/html; charset=utf-8'})
headers = {
'Cache-Control': 'no-cache',
'Content-Type': 'text/html; charset=utf-8',
}
return render_bootstrap_template("web.webclient_bootstrap", headers=headers)
else:
return http.local_redirect('/web/login', query=request.params)
@ -651,7 +647,7 @@ class Home(http.Controller):
if uid is not False:
return http.redirect_with_hash(redirect)
values['error'] = "Wrong login/password"
return render_bootstrap_template(request.session.db, 'web.login', values, lazy=True)
return render_bootstrap_template('web.login', values)
@http.route('/login', type='http', auth="none")
def login(self, db, login, key, redirect="/web", **kw):