[ADD] web_session_auto_close

This commit adds the web_session_auto_close module which purpose is
to is to automatically close the session when the last odoo tab is
closed or when the computer gets in idle mode.

The `timeout` occurs 15 seconds after the tab has been closed or
the computer got idle.
This commit is contained in:
Laurent Stukkens
2023-08-17 09:32:11 +02:00
parent ab916ebf6d
commit 85b83d199d
17 changed files with 738 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
odoo.define("web_session_auto_close.WebClient", function(require) {
"use strict";
const WebClient = require("web.WebClient");
return WebClient.include({
dependencies: ["bus_service", WebClient.prototype.dependencies],
/**
* @override
*/
start: function() {
const isSessionStillValid = this.call("bus_service", "isSessionStillValid");
if (!isSessionStillValid) {
window.location = "/web/session/logout";
return;
}
const result = this._super.apply(this, arguments);
// We need to ensure that the polling has started as this module relies on that process.
this.call("bus_service", "startPolling");
return result;
},
});
});