mirror of
https://github.com/OCA/web.git
synced 2025-02-22 13:21:25 +02:00
[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:
24
web_session_auto_close/static/src/js/web_client.js
Normal file
24
web_session_auto_close/static/src/js/web_client.js
Normal 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;
|
||||
},
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user