From 8ed39b9244089a42f85ae2d9acefa96a4e6041a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20K=C3=BChn?= Date: Tue, 18 Jul 2023 13:13:03 +0000 Subject: [PATCH] [FIX] mail, im_livechat: show livechats in livechat tab in mobile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, livechats in mobile were shown in the "Chat" tab in both discuss app and messaging menu. This is alright, but there's a dedicated tab for "Livechat", which was empty as a result. The intended showing in mobile is to keep livechat away from "Chat", and instead populate the "Livechat" filter. Task-3430253 closes odoo/odoo#128934 X-original-commit: cf4b72582bbb52c7cd4bc17733f4dbbc84f9b321 Signed-off-by: Matthieu Stockbauer (tsm) Signed-off-by: Alexandre Kühn (aku) --- .../messaging_menu/messaging_menu_patch.js | 5 ++++- .../tests/messaging_menu_patch_tests.js | 21 +++++++++++++++++++ .../static/src/core/web/messaging_menu.xml | 2 +- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/addons/im_livechat/static/src/messaging_menu/messaging_menu_patch.js b/addons/im_livechat/static/src/messaging_menu/messaging_menu_patch.js index ce422d93ef7..81095560c0f 100644 --- a/addons/im_livechat/static/src/messaging_menu/messaging_menu_patch.js +++ b/addons/im_livechat/static/src/messaging_menu/messaging_menu_patch.js @@ -11,7 +11,10 @@ patch(MessagingMenu.prototype, "im_livechat", { */ tabToThreadType(tab) { const threadTypes = this._super(tab); - if (tab === "chat") { + if (tab === "chat" && !this.ui.isSmall) { + threadTypes.push("livechat"); + } + if (tab === "livechat") { threadTypes.push("livechat"); } return threadTypes; diff --git a/addons/im_livechat/static/tests/messaging_menu_patch_tests.js b/addons/im_livechat/static/tests/messaging_menu_patch_tests.js index 125463811ee..d40c8796887 100644 --- a/addons/im_livechat/static/tests/messaging_menu_patch_tests.js +++ b/addons/im_livechat/static/tests/messaging_menu_patch_tests.js @@ -1,6 +1,7 @@ /* @odoo-module */ import { click, start, startServer } from "@mail/../tests/helpers/test_utils"; +import { patchUiSize } from "@mail/../tests/helpers/patch_ui_size"; QUnit.module("messaging menu (patch)"); @@ -24,3 +25,23 @@ QUnit.test('livechats should be in "chat" filter', async (assert) => { assert.hasClass($(".o-mail-MessagingMenu button:contains(Chat)"), "fw-bolder"); assert.containsOnce($, ".o-mail-NotificationItem:contains(Visitor 11)"); }); + +QUnit.test('livechats should be in "livechat" tab in mobile', async (assert) => { + patchUiSize({ height: 360, width: 640 }); + const pyEnv = await startServer(); + pyEnv["discuss.channel"].create({ + anonymous_name: "Visitor 11", + channel_member_ids: [ + [0, 0, { partner_id: pyEnv.currentPartnerId }], + [0, 0, { partner_id: pyEnv.publicPartnerId }], + ], + channel_type: "livechat", + livechat_operator_id: pyEnv.currentPartnerId, + }); + await start(); + await click(".o_menu_systray i[aria-label='Messages']"); + await click("button:contains(Livechat)"); + assert.containsOnce($, ".o-mail-NotificationItem:contains(Visitor 11)"); + await click("button:contains(Chat)"); + assert.containsNone($, ".o-mail-NotificationItem:contains(Visitor 11)"); +}); diff --git a/addons/mail/static/src/core/web/messaging_menu.xml b/addons/mail/static/src/core/web/messaging_menu.xml index 15f02d4605d..714507457bf 100644 --- a/addons/mail/static/src/core/web/messaging_menu.xml +++ b/addons/mail/static/src/core/web/messaging_menu.xml @@ -24,7 +24,7 @@ -
+
No conversation yet...