Rewrite the way the im login authenticate

bzr revid: nicolas.vanhoren@openerp.com-20130621132402-peww92wss5vmjcp9
This commit is contained in:
niv-openerp 2013-06-21 15:24:02 +02:00
parent 355d864526
commit 8cc30e00e6
1 changed files with 8 additions and 12 deletions

View File

@ -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"]