diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index ad165e8e903450e3e87fd5e4c794adfa8363ac8e..972f1589e42760f52a3df6da3ac48237f327c7c9 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -1053,7 +1053,6 @@ class WebClient(http.Controller): :param lang: the language of the user :return: """ - request.disable_db = False if mods: mods = mods.split(',') @@ -1229,7 +1228,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 27614315bc104c633c92807015175b0175de925d..47a673e8f157cc5340889a5e8416edfafa4cfca7 100644 --- a/odoo/http.py +++ b/odoo/http.py @@ -198,10 +198,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 @@ -285,7 +285,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): @@ -393,7 +393,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 @@ -1033,7 +1035,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():