mirror of https://github.com/OCA/web.git
Migrate switch_company_warning to 10
parent
de8f773348
commit
a4255c3c1a
|
@ -1,15 +1,16 @@
|
|||
# -*- 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).
|
||||
{
|
||||
"name": "Multicompany - Switch Company Warning",
|
||||
"summary": "Show a warning if current company has been switched"
|
||||
" in another tab or window.",
|
||||
"version": "8.0.0.1.0",
|
||||
" in another tab or window.",
|
||||
"version": "10.0.0.1.0",
|
||||
"category": "web",
|
||||
"website": "http://akretion.com",
|
||||
"license": "AGPL-3",
|
||||
"author": "Akretion / Odoo Community Association (OCA)",
|
||||
"author": "Akretion, "
|
||||
"Odoo Community Association (OCA)",
|
||||
"depends": [
|
||||
'web',
|
||||
],
|
||||
|
@ -19,6 +20,6 @@
|
|||
"qweb": [
|
||||
"static/src/xml/switch_company_warning.xml",
|
||||
],
|
||||
'installable': False,
|
||||
'installable': True,
|
||||
"application": False,
|
||||
}
|
||||
|
|
|
@ -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,6 +1,6 @@
|
|||
<?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>
|
||||
|
|
Loading…
Reference in New Issue