diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-09-11 09:39:33 +0000 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-09-11 09:39:33 +0000 |
| commit | 51354fadb0a1bf5fa797c2539e703cf97d768691 (patch) | |
| tree | 223535044b0df6473cd343079167c53c0f3673d0 /addons/mail/static/src/js/models/threads | |
| parent | da6f24bb4cea8b14eacc3040a06c5e451511240f (diff) | |
| parent | 50e571acf7c9696954d604de9b4501716fa26646 (diff) | |
[MERGE] forward port branch saas-12.3 up to 50e571acf7c
closes odoo/odoo#36491
Signed-off-by: Christophe Simonis <chs@odoo.com>
Diffstat (limited to 'addons/mail/static/src/js/models/threads')
| -rw-r--r-- | addons/mail/static/src/js/models/threads/document_thread.js | 27 | ||||
| -rw-r--r-- | addons/mail/static/src/js/models/threads/searchable_thread.js | 6 |
2 files changed, 29 insertions, 4 deletions
diff --git a/addons/mail/static/src/js/models/threads/document_thread.js b/addons/mail/static/src/js/models/threads/document_thread.js index 0ef02e5f57a..cb860b70beb 100644 --- a/addons/mail/static/src/js/models/threads/document_thread.js +++ b/addons/mail/static/src/js/models/threads/document_thread.js @@ -62,9 +62,16 @@ var DocumentThread = Thread.extend({ * shared between tabs, and restored on F5. * * @override + * @param {Object} [options] + * @param {boolean} [options.skipCrossTabSync=false] if set, it should + * not notify other tabs from updating document thread state. This happens + * in case the `close` operation comes from local storage event. */ - close: function () { + close: function (options) { this._super.apply(this, arguments); + if (options && options.skipCrossTabSync) { + return; + } this.call('mail_service', 'updateDocumentThreadState', this._id, { name: this.getName(), windowState: 'closed', @@ -75,9 +82,16 @@ var DocumentThread = Thread.extend({ * shared between tabs, and restored on F5. * * @override + * @param {Object} [options] + * @param {boolean} [options.skipCrossTabSync=false] if set, it should + * not notify other tabs from updating document thread state. This happens + * in case the `detach` operation comes from local storage event. */ - detach: function () { + detach: function (options) { this._super.apply(this, arguments); + if (options && options.skipCrossTabSync) { + return; + } var windowState = this._folded ? 'folded' : 'open'; this.call('mail_service', 'updateDocumentThreadState', this._id, { name: this.getName(), @@ -105,9 +119,16 @@ var DocumentThread = Thread.extend({ * shared between tabs, and restored on F5. * * @override + * @param {Object} [options] + * @param {boolean} [options.skipCrossTabSync=false] if set, it should + * not notify other tabs from updating document thread state. This happens + * in case the `detach` operation comes from local storage event. */ - fold: function () { + fold: function (folded, options) { this._super.apply(this, arguments); + if (options && options.skipCrossTabSync) { + return; + } var windowState = this._folded ? 'folded' : 'open'; this.call('mail_service', 'updateDocumentThreadState', this._id, { name: this.getName(), diff --git a/addons/mail/static/src/js/models/threads/searchable_thread.js b/addons/mail/static/src/js/models/threads/searchable_thread.js index 511bc6348c8..2b9d64b2597 100644 --- a/addons/mail/static/src/js/models/threads/searchable_thread.js +++ b/addons/mail/static/src/js/models/threads/searchable_thread.js @@ -148,7 +148,11 @@ var SearchableThread = Thread.extend({ if (cache.messages[index] !== message) { cache.messages.splice(index, 0, message); } - if (!message.isMyselfAuthor() && options.incrementUnread) { + if ( + !message.isMyselfAuthor() && + options.incrementUnread && + message.getType() !== 'notification' + ) { this._incrementUnreadCounter(); } }, |
