mirror of https://github.com/OCA/web.git
Migrate switch_company_warning to 10
Lint Switch to old name [UPD] Update web_switch_company_warning.pot [ADD] icon.pngpull/1289/head
parent
65bf28b57f
commit
662c091444
|
@ -1,15 +1,16 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# © <2015> <Akretion, OCA>
|
# Copyright 2017 Akretion <raphael.reverdy@akretion.com>
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
{
|
{
|
||||||
"name": "Multicompany - Switch Company Warning",
|
"name": "Multicompany - Switch Company Warning",
|
||||||
"summary": "Show a warning if current company has been switched"
|
"summary": "Show a warning if current company has been switched"
|
||||||
" in another tab or window.",
|
" in another tab or window.",
|
||||||
"version": "8.0.0.1.0",
|
"version": "10.0.0.1.0",
|
||||||
"category": "web",
|
"category": "web",
|
||||||
"website": "http://akretion.com",
|
"website": "http://akretion.com",
|
||||||
"license": "AGPL-3",
|
"license": "AGPL-3",
|
||||||
"author": "Akretion / Odoo Community Association (OCA)",
|
"author": "Akretion, "
|
||||||
|
"Odoo Community Association (OCA)",
|
||||||
"depends": [
|
"depends": [
|
||||||
'web',
|
'web',
|
||||||
],
|
],
|
||||||
|
@ -19,6 +20,6 @@
|
||||||
"qweb": [
|
"qweb": [
|
||||||
"static/src/xml/switch_company_warning.xml",
|
"static/src/xml/switch_company_warning.xml",
|
||||||
],
|
],
|
||||||
'installable': False,
|
'installable': True,
|
||||||
"application": False,
|
"application": False,
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * web_switch_company_warning
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"Last-Translator: <>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: web_switch_company_warning
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/web_switch_company_warning/static/src/xml/switch_company_warning.xml:6
|
||||||
|
#, python-format
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_switch_company_warning
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/web_switch_company_warning/static/src/xml/switch_company_warning.xml:5
|
||||||
|
#, python-format
|
||||||
|
msgid "You switched to a different company with another tab or window"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: web_switch_company_warning
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/web_switch_company_warning/static/src/xml/switch_company_warning.xml:6
|
||||||
|
#, python-format
|
||||||
|
msgid "to refresh your session"
|
||||||
|
msgstr ""
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 9.2 KiB |
|
@ -1,52 +1,46 @@
|
||||||
'use strict';
|
'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
|
//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)
|
//changed in another tab or window (in the same browser)
|
||||||
|
|
||||||
if (!window.SharedWorker)
|
if (!window.SharedWorker) {
|
||||||
return; //not supported
|
//not supported
|
||||||
|
return;
|
||||||
instance.web.SwitchCompanyWorker = null; //keep a global reference
|
}
|
||||||
|
var SwitchCompanyWarningWidget = Widget.extend({
|
||||||
instance.web.SwitchCompanyWarningWidget = instance.web.Widget.extend({
|
|
||||||
|
|
||||||
template:'web_switch_company_warning.warningWidget',
|
template:'web_switch_company_warning.warningWidget',
|
||||||
init: function() {
|
init: function() {
|
||||||
this._super();
|
this._super();
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
var w = new SharedWorker('/web_switch_company_warning/static/src/js/switch_company_warning_worker.js');
|
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) {
|
w.port.addEventListener('message', function (msg) {
|
||||||
if (msg.data.type !== 'newCtx')
|
if (msg.data.type !== 'newCtx') {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
if(msg.data.newCtx != self.session.company_id) {
|
if(msg.data.newCtx === self.session.company_id) {
|
||||||
self.$el.show();
|
|
||||||
} else {
|
|
||||||
self.$el.hide();
|
self.$el.hide();
|
||||||
|
} else {
|
||||||
|
self.$el.show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
w.port.start();
|
w.port.start();
|
||||||
w.port.postMessage(this.session.company_id);
|
w.port.postMessage(this.session.company_id);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
instance.web.UserMenu = instance.web.UserMenu.extend({
|
UserMenu.include({
|
||||||
|
|
||||||
init: function(parent) {
|
init: function(parent) {
|
||||||
this._super(parent);
|
this._super(parent);
|
||||||
|
var switchCompanyWarning = new SwitchCompanyWarningWidget();
|
||||||
var switchCompanyWarning = new instance.web.SwitchCompanyWarningWidget();
|
switchCompanyWarning.appendTo('#oe_main_menu_navbar');
|
||||||
switchCompanyWarning.insertAfter(instance.webclient.$el.find('#oe_main_menu_navbar'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
};
|
return SwitchCompanyWarningWidget;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
|
@ -3,22 +3,20 @@
|
||||||
//changed in another tab or window (in the same browser)
|
//changed in another tab or window (in the same browser)
|
||||||
|
|
||||||
var con = [];
|
var con = [];
|
||||||
|
|
||||||
var lastCtx = null;
|
var lastCtx = null;
|
||||||
|
|
||||||
addEventListener("connect", function(ee) {
|
addEventListener("connect", function(ee) {
|
||||||
var port = ee.ports[0];
|
var port = ee.ports[0];
|
||||||
con.push(port);
|
con.push(port);
|
||||||
|
|
||||||
port.onmessage = function (e) { //addEventListener doesnt seams to work well
|
port.onmessage = function (e) {
|
||||||
var newCtx = e.data;
|
var newCtx = e.data;
|
||||||
|
|
||||||
if (lastCtx && newCtx != lastCtx) {
|
if (lastCtx && newCtx !== lastCtx) {
|
||||||
con.map(function (eport) {
|
con.forEach(function (eport) {
|
||||||
eport.postMessage({ type: "newCtx", "newCtx": newCtx, "lastCtx": lastCtx});
|
eport.postMessage({type: "newCtx", "newCtx": newCtx, "lastCtx": lastCtx});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
lastCtx = newCtx;
|
lastCtx = newCtx;
|
||||||
};
|
};
|
||||||
|
|
||||||
}, false);
|
}, false);
|
||||||
|
|
Loading…
Reference in New Issue