[IMP] use authenticate() method to log the user in
bzr revid: chs@openerp.com-20111013143339-dtasfi7kvvn7wusq
This commit is contained in:
parent
f3573d844e
commit
5ea774f883
|
@ -351,7 +351,8 @@ class Connection(object):
|
|||
|
||||
if not self.database or not self.login or self.password is None:
|
||||
raise AuthenticationError("Creditentials not provided")
|
||||
|
||||
|
||||
# TODO use authenticate instead of login
|
||||
self.user_id = self.get_service("common").login(self.database, self.login, self.password)
|
||||
if not self.user_id:
|
||||
raise AuthenticationError("Authentication failure")
|
||||
|
|
|
@ -58,8 +58,9 @@ class OpenERPSession(object):
|
|||
self._login = login
|
||||
self._password = password
|
||||
|
||||
def login(self, db, login, password, env):
|
||||
uid = self.proxy('common').login_env(db, login, password, 'web', env)
|
||||
def authenticate(self, db, login, password, env):
|
||||
# TODO use the lib once it use authenticate
|
||||
uid = self.proxy('common').authenticate(db, login, password, env)
|
||||
self.bind(db, uid, login, password)
|
||||
|
||||
if uid: self.get_context()
|
||||
|
|
|
@ -265,14 +265,16 @@ class Session(openerpweb.Controller):
|
|||
_cp_path = "/web/session"
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def login(self, req, db, login, password):
|
||||
def authenticate(self, req, db, login, password, base_location=None):
|
||||
wsgienv = req.httprequest.environ
|
||||
release = web.common.release
|
||||
env = dict(
|
||||
host='%s://%s' % (wsgienv['wsgi.url_scheme'], wsgienv['HTTP_HOST']),
|
||||
referrer=wsgienv.get('HTTP_REFERER'),
|
||||
base_location=base_location,
|
||||
HTTP_HOST=wsgienv['HTTP_HOST'],
|
||||
REMOTE_ADDR=wsgienv['REMOTE_ADDR'],
|
||||
user_agent="%s / %s" % (release.name, release.version),
|
||||
)
|
||||
req.session.login(db, login, password, env)
|
||||
req.session.authenticate(db, login, password, env)
|
||||
ctx = req.session.get_context() if req.session._uid else {}
|
||||
|
||||
return {
|
||||
|
|
|
@ -543,7 +543,7 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
|
|||
*/
|
||||
do_login: function (db, login, password) {
|
||||
var self = this;
|
||||
this.session.session_login(db, login, password, function() {
|
||||
this.session.session_authenticate(db, login, password, function() {
|
||||
if(self.session.session_is_valid()) {
|
||||
if (self.has_local_storage) {
|
||||
if(self.remember_creditentials) {
|
||||
|
|
|
@ -477,10 +477,11 @@ openerp.web.Session = openerp.web.CallbackEnabled.extend( /** @lends openerp.web
|
|||
session_is_valid: function() {
|
||||
return this.uid;
|
||||
},
|
||||
session_login: function(db, login, password, success_callback) {
|
||||
session_authenticate: function(db, login, password, success_callback) {
|
||||
var self = this;
|
||||
var params = { db: db, login: login, password: password };
|
||||
return this.rpc("/web/session/login", params, function(result) {
|
||||
var base_location = document.location.protocol + '//' + document.location.host;
|
||||
var params = { db: db, login: login, password: password, base_location: base_location };
|
||||
return this.rpc("/web/session/authenticate", params, function(result) {
|
||||
self.session_id = result.session_id;
|
||||
self.uid = result.uid;
|
||||
self.user_context = result.context;
|
||||
|
|
Loading…
Reference in New Issue