diff --git a/addons/web/common/session.py b/addons/web/common/session.py index ca23a08da4a..24564ba7bf8 100644 --- a/addons/web/common/session.py +++ b/addons/web/common/session.py @@ -80,6 +80,13 @@ class OpenERPSession(object): """ self.build_connection().check_login(force) + def ensure_valid(self): + if self._uid: + try: + self.assert_valid(True) + except Exception: + self._uid = None + def execute(self, model, func, *l, **d): self.assert_valid() model = self.build_connection().get_model(model) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index d578025b3b5..bb08393cae3 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -360,6 +360,7 @@ class Session(openerpweb.Controller): _cp_path = "/web/session" def session_info(self, req): + req.session.ensure_valid() return { "session_id": req.session_id, "uid": req.session._uid,