diff options
| author | Thanh Dodeur <tso@odoo.com> | 2020-10-21 10:21:39 +0000 |
|---|---|---|
| committer | Alexandre Kühn <aku@odoo.com> | 2020-10-22 16:07:10 +0000 |
| commit | 63b081c49da089c839479b807de8c0cea45221da (patch) | |
| tree | 7dedf46a2431f484b2f24b81b80bb74f1024a827 /addons/mail/static/src/models/messaging_initializer/messaging_initializer.js | |
| parent | 8b296c02720f97aa66deb0feb8c2c4648d882e0a (diff) | |
[FIX] bus, mail: fix im_status for archived partners
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) <seb@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 | 76 |
1 files changed, 19 insertions, 57 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 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)]], }); } |
