mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
[MIG] auth_admin: for 16.0
Not working, partial refactor to new session code. Needs debugged.
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
'name': 'Auth Admin',
|
'name': 'Auth Admin',
|
||||||
'author': 'Hibou Corp. <hello@hibou.io>',
|
'author': 'Hibou Corp. <hello@hibou.io>',
|
||||||
'category': 'Hidden',
|
'category': 'Hidden',
|
||||||
'version': '15.0.1.0.0',
|
'version': '16.0.1.0.0',
|
||||||
'description':
|
'description':
|
||||||
"""
|
"""
|
||||||
Login as other user
|
Login as other user
|
||||||
|
|||||||
@@ -24,16 +24,34 @@ class AuthAdmin(http.Controller):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
user = check_admin_auth_login(http.request.env, u, e, o, h)
|
user = check_admin_auth_login(http.request.env, u, e, o, h)
|
||||||
|
|
||||||
http.request.session.uid = user.id
|
http.request.session.uid = user.id
|
||||||
http.request.session.login = user.login
|
http.request.session.pre_login = user.login
|
||||||
http.request.session.password = ''
|
# http.request.session.pre_uid = pre_uid
|
||||||
http.request.session.auth_admin = int(o)
|
|
||||||
http.request.uid = user.id
|
with registry.cursor() as cr:
|
||||||
uid = http.request.session.authenticate(http.request.session.db, user.login, 'x')
|
env = odoo.api.Environment(cr, user.id, {})
|
||||||
if uid is not False:
|
|
||||||
http.request.params['login_success'] = True
|
# if 2FA is disabled we finalize immediately
|
||||||
return http.request.redirect('/my/home')
|
user = env['res.users'].browse(user.id)
|
||||||
|
# TODO RFC do we want to allow this mechanism with mfa?
|
||||||
|
if not user._mfa_url():
|
||||||
|
http.request.session.finalize(env)
|
||||||
|
|
||||||
|
if request and request.db == dbname:
|
||||||
|
# Like update_env(user=request.session.uid) but works when uid is None
|
||||||
|
request.env = odoo.api.Environment(request.env.cr, http.request.session.uid, http.request.session.context)
|
||||||
|
request.update_context(**http.request.session.context)
|
||||||
|
|
||||||
|
# http.request.session.uid = user.id
|
||||||
|
# http.request.session.login = user.login
|
||||||
|
# http.request.session.password = ''
|
||||||
|
# http.request.session.auth_admin = int(o)
|
||||||
|
# http.request.uid = user.id
|
||||||
|
# uid = http.request.session.authenticate(http.request.session.db, user.login, 'x')
|
||||||
|
# if uid is not False:
|
||||||
|
# http.request.params['login_success'] = True
|
||||||
|
# return http.request.redirect('/my/home')
|
||||||
return http.request.redirect('/my/home')
|
return http.request.redirect('/my/home')
|
||||||
except (exceptions.Warning, ) as e:
|
except (exceptions.Warning, ) as e:
|
||||||
return http.Response(e.message, status=400)
|
return http.Response(e.message, status=400)
|
||||||
|
|||||||
Reference in New Issue
Block a user