[FIX] web: pass env in login_and_redirect
authorChristophe Simonis <chs@openerp.com>
Tue, 20 Nov 2012 18:09:33 +0000 (19:09 +0100)
committerChristophe Simonis <chs@openerp.com>
Tue, 20 Nov 2012 18:09:33 +0000 (19:09 +0100)
bzr revid: chs@openerp.com-20121120180933-ktarob0a3ll4ccsn

addons/web/controllers/main.py

index d756113..173053c 100644 (file)
@@ -345,7 +345,13 @@ def make_conditional(req, response, last_modified=None, etag=None):
     return response.make_conditional(req.httprequest)
 
 def login_and_redirect(req, db, login, key, redirect_url='/'):
-    req.session.authenticate(db, login, key, {})
+    wsgienv = req.httprequest.environ
+    env = dict(
+        base_location=req.httprequest.url_root.rstrip('/'),
+        HTTP_HOST=wsgienv['HTTP_HOST'],
+        REMOTE_ADDR=wsgienv['REMOTE_ADDR'],
+    )
+    req.session.authenticate(db, login, key, env)
     return set_cookie_and_redirect(req, redirect_url)
 
 def set_cookie_and_redirect(req, redirect_url):