diff options
| author | Sébastien Theys <seb@odoo.com> | 2020-08-28 12:53:38 +0000 |
|---|---|---|
| committer | Sébastien Theys <seb@odoo.com> | 2020-08-28 16:15:15 +0000 |
| commit | 17611f4adc5e950b0a75a2a6615b1da3c956387f (patch) | |
| tree | ede6cbc0bc67c1dceed3b5ca6c1bb3e08389675c /addons/mail/static/src/components/chat_window | |
| parent | 5ba64925fd846e9a9a4884913e3d1004d05ecdf6 (diff) | |
[FIX] mail, *: fix opens and redirects, adapt messaging menu close
task-2244279
task-2262862
task-2274993
task-2277537
task-2282238
closes odoo/odoo#56745
X-original-commit: 109f202
Related: odoo/enterprise#12761
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Diffstat (limited to 'addons/mail/static/src/components/chat_window')
| -rw-r--r-- | addons/mail/static/src/components/chat_window/chat_window.js | 27 | ||||
| -rw-r--r-- | addons/mail/static/src/components/chat_window/chat_window.xml | 1 |
2 files changed, 14 insertions, 14 deletions
diff --git a/addons/mail/static/src/components/chat_window/chat_window.js b/addons/mail/static/src/components/chat_window/chat_window.js index 4652da4975b..7f9b53d2670 100644 --- a/addons/mail/static/src/components/chat_window/chat_window.js +++ b/addons/mail/static/src/components/chat_window/chat_window.js @@ -167,20 +167,15 @@ class ChatWindow extends Component { * @param {Object} ui.item * @param {integer} ui.item.id */ - _onAutocompleteSelect(ev, ui) { - const partnerId = ui.item.id; - const partner = this.env.models['mail.partner'].find(partner => partner.id === partnerId); - const chat = partner.correspondentThreads.find(thread => thread.channel_type === 'chat'); - if (chat) { - chat.open({ chatWindowMode: 'from_new_message' }); - } else { - this.env.models['mail.thread'].createChannel({ - autoselect: true, - autoselectChatWindowMode: 'from_new_message', - partnerId, - type: 'chat', - }); + async _onAutocompleteSelect(ev, ui) { + const chat = await this.env.messaging.getChat({ partnerId: ui.item.id }); + if (!chat) { + return; } + this.env.messaging.chatWindowManager.openThread(chat, { + makeActive: true, + replaceNewMessage: true, + }); } /** @@ -225,6 +220,12 @@ class ChatWindow extends Component { if (this.chatWindow.isFocused) { return; } + if (isEventHandled(ev, 'Message.authorOpenChat')) { + return; + } + if (isEventHandled(ev, 'Message.authorOpenProfile')) { + return; + } this.chatWindow.focus(); } diff --git a/addons/mail/static/src/components/chat_window/chat_window.xml b/addons/mail/static/src/components/chat_window/chat_window.xml index d711f267ac7..f92a32cf2fe 100644 --- a/addons/mail/static/src/components/chat_window/chat_window.xml +++ b/addons/mail/static/src/components/chat_window/chat_window.xml @@ -29,7 +29,6 @@ hasComposerCurrentPartnerAvatar="false" hasComposerSendButton="env.messaging.device.isMobile" hasSquashCloseMessages="chatWindow.thread.model !== 'mail.box'" - haveMessagesAuthorRedirect="chatWindow.thread.channel_type !== 'chat'" threadViewLocalId="chatWindow.threadView.localId" t-on-focusin="_onFocusinThread" t-ref="thread" |
