From 63b081c49da089c839479b807de8c0cea45221da Mon Sep 17 00:00:00 2001 From: Thanh Dodeur Date: Wed, 21 Oct 2020 10:21:39 +0000 Subject: [FIX] bus, mail: fix im_status for archived partners MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, archived and deleted partners had not their im_status being updated automatically. There were some issues with this, notably: - odoobot 'bot' status was not displayed in chatter - im_status of partners becoming archived were not updated. This commit fixes both issues. task-2329591 closes odoo/odoo#60398 Signed-off-by: Sébastien Theys (seb) --- .../messaging_initializer/messaging_initializer.js | 76 ++++++---------------- 1 file changed, 19 insertions(+), 57 deletions(-) (limited to 'addons/mail/static/src/models/messaging_initializer/messaging_initializer.js') 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 304faf79674..9fc0c052448 100644 --- a/addons/mail/static/src/models/messaging_initializer/messaging_initializer.js +++ b/addons/mail/static/src/models/messaging_initializer/messaging_initializer.js @@ -237,74 +237,36 @@ function factory(dependencies) { /** * @private * @param {Object} current_partner - * @param {boolean} current_partner.active - * @param {string} current_partner.display_name - * @param {integer} current_partner.id - * @param {string} current_partner.name * @param {integer} current_user_id * @param {integer[]} moderation_channel_ids * @param {Object} partner_root - * @param {boolean} partner_root.active - * @param {string} partner_root.display_name - * @param {integer} partner_root.id - * @param {string} partner_root.name * @param {Object} public_partner - * @param {boolean} public_partner.active - * @param {string} public_partner.display_name - * @param {integer} public_partner.id - * @param {string} public_partner.name */ _initPartners({ - current_partner: { - active: currentPartnerIsActive, - display_name: currentPartnerDisplayName, - id: currentPartnerId, - name: currentPartnerName, - }, + current_partner, current_user_id: currentUserId, moderation_channel_ids = [], - partner_root: { - active: partnerRootIsActive, - display_name: partnerRootDisplayName, - id: partnerRootId, - name: partnerRootName, - }, - public_partner: { - active: publicPartnerIsActive, - display_name: publicPartnerDisplayName, - id: publicPartnerId, - name: publicPartnerName, - }, + partner_root, + public_partner, }) { this.messaging.update({ - currentPartner: [['insert', { - active: currentPartnerIsActive, - display_name: currentPartnerDisplayName, - id: currentPartnerId, - moderatedChannels: [ - ['insert', moderation_channel_ids.map(id => { - return { - id, - model: 'mail.channel', - }; - })], - ], - name: currentPartnerName, - user: [['insert', { id: currentUserId }]], - }]], + currentPartner: [['insert', Object.assign( + this.env.models['mail.partner'].convertData(current_partner), + { + moderatedChannels: [ + ['insert', moderation_channel_ids.map(id => { + return { + id, + model: 'mail.channel', + }; + })], + ], + user: [['insert', { id: currentUserId }]], + } + )]], currentUser: [['insert', { id: currentUserId }]], - partnerRoot: [['insert', { - active: partnerRootIsActive, - display_name: partnerRootDisplayName, - id: partnerRootId, - name: partnerRootName, - }]], - publicPartner: [['insert', { - active: publicPartnerIsActive, - display_name: publicPartnerDisplayName, - id: publicPartnerId, - name: publicPartnerName, - }]], + partnerRoot: [['insert', this.env.models['mail.partner'].convertData(partner_root)]], + publicPartner: [['insert', this.env.models['mail.partner'].convertData(public_partner)]], }); } -- cgit v1.2.3