diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index fa4db3278f93dce519bbcedca1a1991b5b6b05fc..bfeb39ddf62094b9625d6393efc6bf7c1d451a43 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -991,7 +991,6 @@ class WebClient(http.Controller): :param lang: the language of the user :return: """ - request.disable_db = False if mods: mods = mods.split(',') @@ -1183,7 +1182,6 @@ class Session(http.Controller): def get_session_info(self): request.session.check_security() request.uid = request.session.uid - request.disable_db = False return request.env['ir.http'].session_info() @http.route('/web/session/authenticate', type='json', auth="none") diff --git a/odoo/http.py b/odoo/http.py index 67a79067d3de011b8ec8c5c8ec4ce3bbac30e3a6..5732378c28fabf08b8f91b50cb5e33adad1d7008 100644 --- a/odoo/http.py +++ b/odoo/http.py @@ -182,10 +182,10 @@ class WebRequest(object): def __init__(self, httprequest): self.httprequest = httprequest self.httpresponse = None - self.disable_db = False self.endpoint = None self.endpoint_arguments = None self.auth_method = None + self._db = self.session.db self._cr = None self._uid = None self._context = None @@ -269,7 +269,7 @@ class WebRequest(object): finally: self._cr.close() # just to be sure no one tries to re-use the request - self.disable_db = True + self._db = None self.uid = None def set_handler(self, endpoint, arguments, auth): @@ -391,7 +391,9 @@ class WebRequest(object): The database linked to this request. Can be ``None`` if the current request uses the ``none`` authentication. """ - return self.session.db if not self.disable_db else None + if not self._db: + self._db = self.session.db + return self._db def csrf_token(self, time_limit=None): """ Generates and returns a CSRF token for the current session @@ -1035,7 +1037,6 @@ class OpenERPSession(sessions.Session): self.rotate = True self.db = db self.login = login - request.disable_db = False user = request.env(user=uid)['res.users'].browse(uid) if not user._mfa_url():