From dc0914b8a5966b70bcaf647fca6f8c92d3c8c26d Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Mon, 9 Jul 2018 11:04:56 +0200 Subject: [PATCH] [FIX] web: allow getting session_info as non-authenticated The call to /web/session/authenticate should return an empty session_info in case of wrong login/password. It was producing a traceback (due to self.ensure_one() and search) Introduced at d1cd293ece and fdb250942 Fixes #24071 --- addons/web/models/ir_http.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/models/ir_http.py b/addons/web/models/ir_http.py index 1ab8943f835..de5129033b2 100644 --- a/addons/web/models/ir_http.py +++ b/addons/web/models/ir_http.py @@ -26,7 +26,7 @@ class Http(models.AbstractModel): "session_id": request.session.sid, "uid": request.session.uid, "is_admin": request.env.user.has_group('base.group_system'), - "is_superuser": request.env.user._is_superuser(), + "is_superuser": request.env.user._is_superuser() if request.session.uid else False, "user_context": request.session.get_context() if request.session.uid else {}, "db": request.session.db, "server_version": version_info.get('server_version'), @@ -36,7 +36,7 @@ class Http(models.AbstractModel): "company_id": request.env.user.company_id.id if request.session.uid else None, "partner_id": request.env.user.partner_id.id if request.session.uid and request.env.user.partner_id else None, "user_companies": {'current_company': (user.company_id.id, user.company_id.name), 'allowed_companies': [(comp.id, comp.name) for comp in user.company_ids]} if display_switch_company_menu else False, - "currencies": self.get_currencies(), + "currencies": self.get_currencies() if request.session.uid else {}, } def get_currencies(self):