hparfr
7 years ago
3 changed files with 20 additions and 27 deletions
-
11web_switch_company_warning/__manifest__.py
-
32web_switch_company_warning/static/src/js/switch_company_warning.js
-
4web_switch_company_warning/static/src/xml/switch_company_warning.xml
@ -1,52 +1,44 @@ |
|||
'use strict'; |
|||
|
|||
openerp.web_switch_company_warning = function (instance) { |
|||
|
|||
odoo.define('web_switch_company_warning.widget', function (require) { |
|||
var Widget = require('web.Widget'); |
|||
var UserMenu = require('web.UserMenu'); |
|||
//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', |
|||
var SwitchCompanyWarningWidget = Widget.extend({ |
|||
template:'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.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({ |
|||
|
|||
UserMenu.include({ |
|||
init: function(parent) { |
|||
this._super(parent); |
|||
|
|||
var switchCompanyWarning = new instance.web.SwitchCompanyWarningWidget(); |
|||
switchCompanyWarning.insertAfter(instance.webclient.$el.find('#oe_main_menu_navbar')); |
|||
var switchCompanyWarning = new SwitchCompanyWarningWidget(); |
|||
switchCompanyWarning.appendTo('#oe_main_menu_navbar'); |
|||
} |
|||
|
|||
}); |
|||
|
|||
}; |
|||
return SwitchCompanyWarningWidget; |
|||
}); |
|||
|
@ -1,9 +1,9 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<template> |
|||
<t t-name="web_switch_company_warning.warningWidget"> |
|||
<t t-name="WarningWidget"> |
|||
<div class="container-fluid bg-warning" style="text-align: center; display:none;"> |
|||
<h3>You switched to a different company with another tab or window</h3> |
|||
<p><button onclick="location.reload(true);" class="btn">Reload</button> to refresh your session</p> |
|||
</div> |
|||
</t> |
|||
</template> |
|||
</template> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue