summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/models/messaging_initializer
diff options
context:
space:
mode:
authorThanh Dodeur <tso@odoo.com>2020-10-21 10:21:39 +0000
committerAlexandre Kühn <aku@odoo.com>2020-10-22 16:07:10 +0000
commit63b081c49da089c839479b807de8c0cea45221da (patch)
tree7dedf46a2431f484b2f24b81b80bb74f1024a827 /addons/mail/static/src/models/messaging_initializer
parent8b296c02720f97aa66deb0feb8c2c4648d882e0a (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')
-rw-r--r--addons/mail/static/src/models/messaging_initializer/messaging_initializer.js76
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)]],
});
}