3
0
Fork 0

[IMP] add user switch detection and rename module

12.0
Adrià Gil Sorribes 2019-06-14 13:33:03 +02:00
parent 9effe7a2d2
commit 56c576208a
16 changed files with 38 additions and 35 deletions

View File

@ -1 +0,0 @@
* Hparfr <https://github.com/hparfr>

View File

@ -1 +0,0 @@
Shows a warning if current company has been switched in another tab or window.

View File

@ -1,6 +1,6 @@
===================================== ======================
Multicompany - Switch Company Warning Switch Context Warning
===================================== ======================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
@ -14,10 +14,10 @@ Multicompany - Switch Company Warning
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
:target: https://github.com/OCA/web/tree/12.0/web_switch_company_warning :target: https://github.com/OCA/web/tree/12.0/web_switch_context_warning
:alt: OCA/web :alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_switch_company_warning :target: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_switch_context_warning
:alt: Translate me on Weblate :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/162/12.0 :target: https://runbot.odoo-community.org/runbot/162/12.0
@ -25,7 +25,7 @@ Multicompany - Switch Company Warning
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
Shows a warning if current company has been switched in another tab or window. Shows a warning if current user, company or database have been switched in another tab or window.
**Table of contents** **Table of contents**
@ -35,7 +35,7 @@ Shows a warning if current company has been switched in another tab or window.
Known issues / Roadmap Known issues / Roadmap
====================== ======================
* If the browser don't implement Sharded Worker (http://www.w3.org/TR/workers/#sharedworker), the warning message will not be displayed (there is no polyfill). * If the browser don't implement Shared Worker (http://www.w3.org/TR/workers/#sharedworker), the warning message will not be displayed (there is no polyfill).
* Switching company in a separate browser or in private browsing mode will not be detected by this module. It's a limitation of Shared Worker(limit to browser session, server:port...) * Switching company in a separate browser or in private browsing mode will not be detected by this module. It's a limitation of Shared Worker(limit to browser session, server:port...)
@ -45,7 +45,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_. Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_switch_company_warning%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. `feedback <https://github.com/OCA/web/issues/new?body=module:%20web_switch_context_warning%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues. Do not contact contributors directly about support or help with technical issues.
@ -61,6 +61,7 @@ Contributors
~~~~~~~~~~~~ ~~~~~~~~~~~~
* Hparfr <https://github.com/hparfr> * Hparfr <https://github.com/hparfr>
* Adria Gil Sorribes <adria.gil@eficent.com>
Maintainers Maintainers
~~~~~~~~~~~ ~~~~~~~~~~~
@ -75,6 +76,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
This module is part of the `OCA/web <https://github.com/OCA/web/tree/12.0/web_switch_company_warning>`_ project on GitHub. This module is part of the `OCA/web <https://github.com/OCA/web/tree/12.0/web_switch_context_warning>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@ -1,10 +1,10 @@
# Copyright 2017 Akretion <raphael.reverdy@akretion.com> # 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": "Switch Context Warning",
"summary": "Show a warning if current company has been switched" "summary": "Show a warning if current user, company or database "
" in another tab or window.", "have been switched in another tab or window.",
"version": "12.0.1.0.0", "version": "12.0.2.0.0",
"category": "web", "category": "web",
"website": "https://github.com/OCA/web", "website": "https://github.com/OCA/web",
"license": "AGPL-3", "license": "AGPL-3",
@ -17,7 +17,7 @@
"view/view.xml", "view/view.xml",
], ],
"qweb": [ "qweb": [
"static/src/xml/switch_company_warning.xml", "static/src/xml/switch_context_warning.xml",
], ],
'installable': True, 'installable': True,
"application": False, "application": False,

View File

@ -0,0 +1,2 @@
* Hparfr <https://github.com/hparfr>
* Adria Gil Sorribes <adria.gil@eficent.com>

View File

@ -0,0 +1 @@
Shows a warning if current user, company or database have been switched in another tab or window.

View File

@ -1,3 +1,3 @@
* If the browser don't implement Sharded Worker (http://www.w3.org/TR/workers/#sharedworker), the warning message will not be displayed (there is no polyfill). * If the browser don't implement Shared Worker (http://www.w3.org/TR/workers/#sharedworker), the warning message will not be displayed (there is no polyfill).
* Switching company in a separate browser or in private browsing mode will not be detected by this module. It's a limitation of Shared Worker(limit to browser session, server:port...) * Switching company in a separate browser or in private browsing mode will not be detected by this module. It's a limitation of Shared Worker(limit to browser session, server:port...)

View File

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@ -4,7 +4,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
<title>Multicompany - Switch Company Warning</title> <title>Switch Context Warning</title>
<style type="text/css"> <style type="text/css">
/* /*
@ -360,15 +360,15 @@ ul.auto-toc {
</style> </style>
</head> </head>
<body> <body>
<div class="document" id="multicompany-switch-company-warning"> <div class="document" id="switch-context-warning">
<h1 class="title">Multicompany - Switch Company Warning</h1> <h1 class="title">Switch Context Warning</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/web/tree/12.0/web_switch_company_warning"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_switch_company_warning"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/162/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/web/tree/12.0/web_switch_context_warning"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_switch_context_warning"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/162/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>Shows a warning if current company has been switched in another tab or window.</p> <p>Shows a warning if current user, company or database have been switched in another tab or window.</p>
<p><strong>Table of contents</strong></p> <p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents"> <div class="contents local topic" id="contents">
<ul class="simple"> <ul class="simple">
@ -386,7 +386,7 @@ ul.auto-toc {
<h1><a class="toc-backref" href="#id1">Known issues / Roadmap</a></h1> <h1><a class="toc-backref" href="#id1">Known issues / Roadmap</a></h1>
<blockquote> <blockquote>
<ul class="simple"> <ul class="simple">
<li>If the browser dont implement Sharded Worker (<a class="reference external" href="http://www.w3.org/TR/workers/#sharedworker">http://www.w3.org/TR/workers/#sharedworker</a>), the warning message will not be displayed (there is no polyfill).</li> <li>If the browser dont implement Shared Worker (<a class="reference external" href="http://www.w3.org/TR/workers/#sharedworker">http://www.w3.org/TR/workers/#sharedworker</a>), the warning message will not be displayed (there is no polyfill).</li>
<li>Switching company in a separate browser or in private browsing mode will not be detected by this module. Its a limitation of Shared Worker(limit to browser session, server:port…)</li> <li>Switching company in a separate browser or in private browsing mode will not be detected by this module. Its a limitation of Shared Worker(limit to browser session, server:port…)</li>
</ul> </ul>
</blockquote> </blockquote>
@ -396,7 +396,7 @@ ul.auto-toc {
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_switch_company_warning%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_switch_context_warning%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <div class="section" id="credits">
@ -411,6 +411,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<h2><a class="toc-backref" href="#id5">Contributors</a></h2> <h2><a class="toc-backref" href="#id5">Contributors</a></h2>
<ul class="simple"> <ul class="simple">
<li>Hparfr &lt;<a class="reference external" href="https://github.com/hparfr">https://github.com/hparfr</a>&gt;</li> <li>Hparfr &lt;<a class="reference external" href="https://github.com/hparfr">https://github.com/hparfr</a>&gt;</li>
<li>Adria Gil Sorribes &lt;<a class="reference external" href="mailto:adria.gil&#64;eficent.com">adria.gil&#64;eficent.com</a>&gt;</li>
</ul> </ul>
</div> </div>
<div class="section" id="maintainers"> <div class="section" id="maintainers">
@ -420,7 +421,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/12.0/web_switch_company_warning">OCA/web</a> project on GitHub.</p> <p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/12.0/web_switch_context_warning">OCA/web</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>

View File

@ -1,10 +1,10 @@
odoo.define('web_switch_company_warning.widget', function (require) { odoo.define('web_switch_context_warning.widget', function (require) {
'use strict'; 'use strict';
var Widget = require('web.Widget'); var Widget = require('web.Widget');
var UserMenu = require('web.UserMenu'); var UserMenu = require('web.UserMenu');
var session = require('web.session'); var session = require('web.session');
// 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 context 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) {
@ -12,11 +12,11 @@ odoo.define('web_switch_company_warning.widget', function (require) {
return; return;
} }
var SwitchCompanyWarningWidget = Widget.extend({ var SwitchCompanyWarningWidget = Widget.extend({
template:'web_switch_company_warning.warningWidget', template:'web_switch_context_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_context_warning/static/src/js/switch_context_warning_worker.js');
w.port.addEventListener('message', function (msg) { w.port.addEventListener('message', function (msg) {
if (msg.data.type !== 'newCtx') { if (msg.data.type !== 'newCtx') {
return; return;
@ -31,7 +31,7 @@ odoo.define('web_switch_company_warning.widget', function (require) {
w.port.postMessage(this.generateSignature()); w.port.postMessage(this.generateSignature());
}, },
generateSignature: function () { generateSignature: function () {
return [session.company_id, session.db].join(); return [session.uid, session.company_id, session.db].join();
}, },
}); });

View File

@ -1,4 +1,4 @@
// 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 context has been
// Changed in another tab or window (in the same browser) // Changed in another tab or window (in the same browser)
var con = []; var con = [];

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<template> <template>
<t t-name="web_switch_company_warning.warningWidget"> <t t-name="web_switch_context_warning.warningWidget">
<div class="container-fluid bg-warning" style="text-align: center; display:none;padding-top:20px;padding-bottom:5px"> <div class="container-fluid bg-warning" style="text-align: center; display:none;padding-top:20px;padding-bottom:5px">
<h3>You switched to a different company or database with another tab or window</h3> <h3>You switched to a different user, company or database with another tab or window</h3>
<p><button onclick="location.reload(true);" class="btn">Reload</button> to refresh your session</p> <p><button onclick="location.reload(true);" class="btn">Reload</button> to refresh your session</p>
</div> </div>
</t> </t>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<openerp> <openerp>
<data> <data>
<template id="assets_backend" name="web_switch_company_warning assets" inherit_id="web.assets_backend"> <template id="assets_backend" name="web_switch_context_warning assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside"> <xpath expr="." position="inside">
<script type="text/javascript" src="/web_switch_company_warning/static/src/js/switch_company_warning.js"></script> <script type="text/javascript" src="/web_switch_context_warning/static/src/js/switch_context_warning.js"></script>
</xpath> </xpath>
</template> </template>
</data> </data>