[IMP] use login_env for login

bzr revid: chs@openerp.com-20111012161208-yto1rang9znmoh4i
This commit is contained in:
Christophe Simonis 2011-10-12 18:12:08 +02:00
parent 0de588dd4a
commit f3573d844e
2 changed files with 12 additions and 3 deletions

View File

@ -58,8 +58,8 @@ class OpenERPSession(object):
self._login = login
self._password = password
def login(self, db, login, password):
uid = self.proxy('common').login(db, login, password)
def login(self, db, login, password, env):
uid = self.proxy('common').login_env(db, login, password, 'web', env)
self.bind(db, uid, login, password)
if uid: self.get_context()

View File

@ -5,6 +5,7 @@ import base64
import csv
import glob
import itertools
import logging
import operator
import os
import re
@ -21,6 +22,8 @@ import babel.messages.pofile
import web.common
openerpweb = web.common.http
_logger = logging.getLogger(__name__)
#----------------------------------------------------------
# OpenERP Web web Controllers
#----------------------------------------------------------
@ -263,7 +266,13 @@ class Session(openerpweb.Controller):
@openerpweb.jsonrequest
def login(self, req, db, login, password):
req.session.login(db, login, password)
wsgienv = req.httprequest.environ
env = dict(
host='%s://%s' % (wsgienv['wsgi.url_scheme'], wsgienv['HTTP_HOST']),
referrer=wsgienv.get('HTTP_REFERER'),
REMOTE_ADDR=wsgienv['REMOTE_ADDR'],
)
req.session.login(db, login, password, env)
ctx = req.session.get_context() if req.session._uid else {}
return {