diff --git a/addons/mail/static/src/core/common/thread_service.js b/addons/mail/static/src/core/common/thread_service.js index 2cd71e6a4b2..91304f23d5e 100644 --- a/addons/mail/static/src/core/common/thread_service.js +++ b/addons/mail/static/src/core/common/thread_service.js @@ -662,17 +662,6 @@ export class ThreadService { } } - async createGroupChat({ default_display_mode, partners_to }) { - const data = await this.orm.call("discuss.channel", "create_group", [], { - default_display_mode, - partners_to, - }); - const channel = this.createChannelThread(data); - this.sortChannels(); - this.open(channel); - return channel; - } - remove(thread) { removeFromArray(this.store.discuss.chats.threads, thread.localId); removeFromArray(this.store.discuss.channels.threads, thread.localId); diff --git a/addons/mail/static/src/discuss/call/web/discuss_sidebar_patch.js b/addons/mail/static/src/discuss/call/web/discuss_sidebar_patch.js index fd8e04c72a2..ca156104401 100644 --- a/addons/mail/static/src/discuss/call/web/discuss_sidebar_patch.js +++ b/addons/mail/static/src/discuss/call/web/discuss_sidebar_patch.js @@ -2,6 +2,7 @@ import { Sidebar } from "@mail/core/web/sidebar"; import { useRtc } from "@mail/discuss/call/common/rtc_hook"; +import { useDiscussCoreCommon } from "@mail/discuss/core/common/discuss_core_common_service"; import { patch } from "@web/core/utils/patch"; @@ -10,10 +11,11 @@ Sidebar.props = [...Sidebar.props, "onStartMeeting?"]; patch(Sidebar.prototype, "discuss/call/web", { setup() { this._super(...arguments); + this.discussCoreCommonService = useDiscussCoreCommon(); this.rtc = useRtc(); }, async onClickStartMeeting() { - const thread = await this.threadService.createGroupChat({ + const thread = await this.discussCoreCommonService.createGroupChat({ default_display_mode: "video_full_screen", partners_to: [this.store.self.id], }); diff --git a/addons/mail/static/src/discuss/core/common/discuss_core_common_service.js b/addons/mail/static/src/discuss/core/common/discuss_core_common_service.js index 725e337b684..96b525e9761 100644 --- a/addons/mail/static/src/discuss/core/common/discuss_core_common_service.js +++ b/addons/mail/static/src/discuss/core/common/discuss_core_common_service.js @@ -15,6 +15,7 @@ export class DiscussCoreCommon { Object.assign(this, { busService: services.bus_service, env, + orm: services.orm, presence: services.presence, rpc: services.rpc, }); @@ -153,6 +154,17 @@ export class DiscussCoreCommon { }); } + async createGroupChat({ default_display_mode, partners_to }) { + const data = await this.orm.call("discuss.channel", "create_group", [], { + default_display_mode, + partners_to, + }); + const channel = this.threadService.createChannelThread(data); + this.threadService.sortChannels(); + this.threadService.open(channel); + return channel; + } + /** * @param {[number]} partnerIds * @param {boolean} inChatWindow @@ -169,7 +181,7 @@ export class DiscussCoreCommon { const chat = await this.threadService.joinChat(correspondentId); this.threadService.open(chat, inChatWindow); } else { - await this.threadService.createGroupChat({ partners_to }); + await this.createGroupChat({ partners_to }); } } @@ -264,6 +276,7 @@ export const discussCoreCommon = { "mail.store", "mail.thread", "notification", + "orm", "presence", "rpc", ],