diff options
| author | Sébastien Theys <seb@odoo.com> | 2020-12-07 13:06:15 +0000 |
|---|---|---|
| committer | Sébastien Theys <seb@odoo.com> | 2020-12-07 13:06:15 +0000 |
| commit | 9fbea9f8ee193e672c855c73ad29de187f27cef1 (patch) | |
| tree | 7060d2860d2a3c517943e8171dca19dec3fb218d /addons/mail/static/src/models/messaging_initializer/messaging_initializer.js | |
| parent | 486c445d2200d3805ffac30e84ff35a7a61bf0b7 (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/messaging_initializer.js')
| -rw-r--r-- | addons/mail/static/src/models/messaging_initializer/messaging_initializer.js | 14 |
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)) + ], + ], }); } |
