From 8cc30e00e6daf68d2978dd5cd38e5198ae90155a Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 21 Jun 2013 15:24:02 +0200 Subject: [PATCH] Rewrite the way the im login authenticate bzr revid: nicolas.vanhoren@openerp.com-20130621132402-peww92wss5vmjcp9 --- addons/im/im.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/addons/im/im.py b/addons/im/im.py index f6312629d92..4a867789cbc 100644 --- a/addons/im/im.py +++ b/addons/im/im.py @@ -101,21 +101,17 @@ class LongPollingController(http.Controller): raise Exception("Not usable in a server not running gevent") from openerp.addons.im.watcher import ImWatcher if db is not None: - request.session._db = db - request.session._uid = uid - request.session._password = password - request.session.check_security() - uid = request.session._uid - password = request.session._password - registry = openerp.modules.registry.RegistryManager.get(request.session._db) + request.session.authenticate(db=db, uid=uid, password=password) + else: + request.session.authenticate(db=request.session._db, uid=request.session._uid, password=request.session._password) - with registry.cursor() as cr: - registry.get('im.user').im_connect(cr, uid, uuid=uuid, context=request.context) - my_id = registry.get('im.user').get_by_user_id(cr, uid, uuid or request.session._uid, request.context)["id"] + with request.registry.cursor() as cr: + request.registry.get('im.user').im_connect(cr, request.uid, uuid=uuid, context=request.context) + my_id = request.registry.get('im.user').get_by_user_id(cr, request.uid, uuid or request.session._uid, request.context)["id"] num = 0 while True: - with registry.cursor() as cr: - res = registry.get('im.message').get_messages(cr, uid, last, users_watch, uuid=uuid, context=request.context) + with request.registry.cursor() as cr: + res = request.registry.get('im.message').get_messages(cr, request.uid, last, users_watch, uuid=uuid, context=request.context) if num >= 1 or len(res["res"]) > 0: return res last = res["last"]