3
0
Fork 0

[IMP] web_notify: add channels only if not done already

12.0
Nils Hamerlinck 2020-02-24 17:43:31 +07:00
parent ca33bb67e3
commit ce792e78ca
1 changed files with 17 additions and 6 deletions

View File

@ -26,15 +26,26 @@ odoo.define('web_notify.WebClient', function (require) {
this.channel_info,
this.channel_default,
];
this.call('bus_service', 'addChannel', this.channel_success);
this.call('bus_service', 'addChannel', this.channel_danger);
this.call('bus_service', 'addChannel', this.channel_warning);
this.call('bus_service', 'addChannel', this.channel_info);
this.call('bus_service', 'addChannel', this.channel_default);
// startPolling to get this new tab registered,
// in order to be able to call isMasterTab
this.call('bus_service', 'startPolling');
// - no need to add channels again if it was done already
// - this is also a workaround for the infinite loop issue
// that occures when user logs in as a different user
// while still being logged in 2+ other tabs
if(this.call('bus_service', 'isMasterTab')) {
this.call('bus_service', 'addChannel', this.channel_success);
this.call('bus_service', 'addChannel', this.channel_danger);
this.call('bus_service', 'addChannel', this.channel_warning);
this.call('bus_service', 'addChannel', this.channel_info);
this.call('bus_service', 'addChannel', this.channel_default);
}
this.call(
'bus_service', 'on', 'notification',
this, this.bus_notification);
this.call('bus_service', 'startPolling');
},
bus_notification: function (notifications) {
var self = this;