You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
'use strict';
|
|
|
|
openerp.web_switch_company_warning = function (instance) {
|
|
|
|
//Show a big banner in the top of the page if the company has been
|
|
//changed in another tab or window (in the same browser)
|
|
|
|
if (!window.SharedWorker)
|
|
return; //not supported
|
|
|
|
instance.web.SwitchCompanyWorker = null; //keep a global reference
|
|
|
|
instance.web.SwitchCompanyWarningWidget = instance.web.Widget.extend({
|
|
|
|
template:'web_switch_company_warning.warningWidget',
|
|
init: function() {
|
|
this._super();
|
|
|
|
var self = this;
|
|
|
|
var w = new SharedWorker('/web_switch_company_warning/static/src/js/switch_company_warning_worker.js');
|
|
instance.web.SwitchCompanyWorker = w;
|
|
|
|
w.port.addEventListener('message', function (msg) {
|
|
if (msg.data.type !== 'newCtx')
|
|
return;
|
|
|
|
if(msg.data.newCtx != self.session.company_id) {
|
|
self.$el.show();
|
|
} else {
|
|
self.$el.hide();
|
|
}
|
|
});
|
|
|
|
w.port.start();
|
|
w.port.postMessage(this.session.company_id);
|
|
}
|
|
});
|
|
|
|
instance.web.UserMenu = instance.web.UserMenu.extend({
|
|
|
|
init: function(parent) {
|
|
this._super(parent);
|
|
|
|
var switchCompanyWarning = new instance.web.SwitchCompanyWarningWidget();
|
|
switchCompanyWarning.insertAfter(instance.webclient.$el.find('#oe_main_menu_navbar'));
|
|
}
|
|
|
|
});
|
|
|
|
};
|
|
|