diff options
| author | Lucas Perais (lpe) <lpe@odoo.com> | 2020-06-15 11:07:54 +0000 |
|---|---|---|
| committer | Alexandre Kühn <aku@odoo.com> | 2020-06-26 00:54:54 +0000 |
| commit | 257371bab52b009c027ead19857fbd865f2bc5b4 (patch) | |
| tree | 997978f831cd0879b2b410ec3c79ccb156d7e725 /addons/mail/static/src/models/messaging_notification_handler | |
| parent | 5a30919826bd4072bf3e0e2915b9df271d58ee78 (diff) | |
[FIX] mail: discuss: unpin channel fixes
FIX: use the correct API of mail.channel.py to unfollow a channel
i.e.: `execute_command_leave`
FIX: unpinning a channel has immediate effect on the interface
chatWindows are closed, and the inbox is displayed
FIX: unpinning a channel destroys corresponding chatWindows across tabs
It also unpins the channel in other tabs
FIX: python sends is_pinned as part of the channel_info
both at init messaging and in the main bus notification
That way, we can keep track of the synchronization of the pin status
between JS and python
task-2275000
task-2267941
closes odoo/odoo#53703
X-original-commit: d4fcc64acb2fc0c6fd9df505380f665abd8b39c4
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Diffstat (limited to 'addons/mail/static/src/models/messaging_notification_handler')
| -rw-r--r-- | addons/mail/static/src/models/messaging_notification_handler/messaging_notification_handler.js | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/addons/mail/static/src/models/messaging_notification_handler/messaging_notification_handler.js b/addons/mail/static/src/models/messaging_notification_handler/messaging_notification_handler.js index 0514bde027c..f92521f248e 100644 --- a/addons/mail/static/src/models/messaging_notification_handler/messaging_notification_handler.js +++ b/addons/mail/static/src/models/messaging_notification_handler/messaging_notification_handler.js @@ -453,11 +453,7 @@ function factory(dependencies) { channel.members.includes(this.env.messaging.currentPartner) ); - channel = this.env.models['mail.thread'].insert(Object.assign( - { isPinned: true }, - convertedData, - )); - + channel = this.env.models['mail.thread'].insert(convertedData); if ( channel.channel_type === 'channel' && data.info !== 'creation' && @@ -654,12 +650,14 @@ function factory(dependencies) { owl.utils.escape(channel.name) ); } + // We assume that arriving here the server has effectively + // unpinned the channel + channel.update({ isServerPinned: false }); this.env.services['notification'].notify({ message, title: this.env._t("Unsubscribed"), type: 'warning', }); - channel.update({ isPinned: false }); } /** |
