[IMP] Improvement/changes to the http request/response API.
- Get rid of LazyResponses - Made website.render() an alias to request.render() [just kept in case this is merged in saas-3 but should be removed completely in favor of request.render()] Need server/trunk's rev#5102 bzr revid: fme@openerp.com-20140226164448-ad7mjzgg5aw66erq
This commit is contained in:
commit
71537320c5
|
@ -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, **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):
|
||||
|
|
Loading…
Reference in New Issue