summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/models/messaging_initializer
diff options
context:
space:
mode:
authorSébastien Theys <seb@odoo.com>2020-12-07 13:06:15 +0000
committerSébastien Theys <seb@odoo.com>2020-12-07 13:06:15 +0000
commit9fbea9f8ee193e672c855c73ad29de187f27cef1 (patch)
tree7060d2860d2a3c517943e8171dca19dec3fb218d /addons/mail/static/src/models/messaging_initializer
parent486c445d2200d3805ffac30e84ff35a7a61bf0b7 (diff)
[FIX] mail, im_livechat: properly handle multiple public partners
task-2391334 closes odoo/odoo#62956 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Diffstat (limited to 'addons/mail/static/src/models/messaging_initializer')
-rw-r--r--addons/mail/static/src/models/messaging_initializer/messaging_initializer.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/addons/mail/static/src/models/messaging_initializer/messaging_initializer.js b/addons/mail/static/src/models/messaging_initializer/messaging_initializer.js
index 07d44355931..a0c8372940d 100644
--- a/addons/mail/static/src/models/messaging_initializer/messaging_initializer.js
+++ b/addons/mail/static/src/models/messaging_initializer/messaging_initializer.js
@@ -80,6 +80,7 @@ function factory(dependencies) {
* @param {integer} [param0.needaction_inbox_counter=0]
* @param {Object} param0.partner_root
* @param {Object} param0.public_partner
+ * @param {Object[]} param0.public_partners
* @param {Object[]} [param0.shortcodes=[]]
* @param {integer} [param0.starred_counter=0]
*/
@@ -96,6 +97,7 @@ function factory(dependencies) {
needaction_inbox_counter = 0,
partner_root,
public_partner,
+ public_partners,
shortcodes = [],
starred_counter = 0
}) {
@@ -107,6 +109,7 @@ function factory(dependencies) {
moderation_channel_ids,
partner_root,
public_partner,
+ public_partners,
});
// mailboxes after partners and before other initializers that might
// manipulate threads or messages
@@ -246,6 +249,7 @@ function factory(dependencies) {
* @param {integer[]} moderation_channel_ids
* @param {Object} partner_root
* @param {Object} public_partner
+ * @param {Object[]} [public_partners=[]]
*/
_initPartners({
current_partner,
@@ -253,7 +257,9 @@ function factory(dependencies) {
moderation_channel_ids = [],
partner_root,
public_partner,
+ public_partners = [],
}) {
+ const publicPartner = this.env.models['mail.partner'].convertData(public_partner);
this.messaging.update({
currentPartner: [['insert', Object.assign(
this.env.models['mail.partner'].convertData(current_partner),
@@ -271,7 +277,13 @@ function factory(dependencies) {
)]],
currentUser: [['insert', { id: currentUserId }]],
partnerRoot: [['insert', this.env.models['mail.partner'].convertData(partner_root)]],
- publicPartner: [['insert', this.env.models['mail.partner'].convertData(public_partner)]],
+ publicPartner: [['insert', publicPartner]],
+ publicPartners: [
+ ['insert', publicPartner],
+ ['insert', public_partners.map(
+ publicPartner => this.env.models['mail.partner'].convertData(publicPartner))
+ ],
+ ],
});
}