diff options
Diffstat (limited to 'addons/im_livechat')
3 files changed, 7 insertions, 6 deletions
diff --git a/addons/im_livechat/models/mail_channel.py b/addons/im_livechat/models/mail_channel.py index 9f090a6ccfc..f6c89c3666c 100644 --- a/addons/im_livechat/models/mail_channel.py +++ b/addons/im_livechat/models/mail_channel.py @@ -104,12 +104,13 @@ class MailChannel(models.Model): if not partners: # operator probably testing the livechat with his own user partners = channel_partner_ids - if partners and partners[0] != self.env.ref('base.public_partner'): + first_partner = partners and partners[0] + if first_partner and (not first_partner.user_ids or not any(user._is_public() for user in first_partner.user_ids)): # legit non-public partner return { - 'country': partners[0].country_id.name_get()[0] if partners[0].country_id else False, - 'id': partners[0].id, - 'name': partners[0].name, + 'country': first_partner.country_id.name_get()[0] if first_partner.country_id else False, + 'id': first_partner.id, + 'name': first_partner.name, } return { 'country': self.country_id.name_get()[0] if self.country_id else False, diff --git a/addons/im_livechat/static/src/models/messaging_notification_handler/messaging_notification_handler.js b/addons/im_livechat/static/src/models/messaging_notification_handler/messaging_notification_handler.js index ca08208907d..efae3eed105 100644 --- a/addons/im_livechat/static/src/models/messaging_notification_handler/messaging_notification_handler.js +++ b/addons/im_livechat/static/src/models/messaging_notification_handler/messaging_notification_handler.js @@ -23,7 +23,7 @@ registerInstancePatchModel('mail.messaging_notification_handler', 'im_livechat/s } let partnerId; let partnerName; - if (partner_id === this.env.messaging.publicPartner.id) { + if (this.env.messaging.publicPartners.some(publicPartner => publicPartner.id === partner_id)) { // Some shenanigans that this is a typing notification // from public partner. partnerId = channel.correspondent.id; diff --git a/addons/im_livechat/static/src/models/thread/thread.js b/addons/im_livechat/static/src/models/thread/thread.js index b3984500f8d..745aff78f69 100644 --- a/addons/im_livechat/static/src/models/thread/thread.js +++ b/addons/im_livechat/static/src/models/thread/thread.js @@ -39,7 +39,7 @@ registerClassPatchModel('mail.thread', 'im_livechat/static/src/models/thread/thr * of polluting the database, it is therefore acceptable and * easier to handle one temporary partner per channel. */ - data2.members.push(['unlink', this.env.messaging.publicPartner]); + data2.members.push(['unlink', this.env.messaging.publicPartners]); const partner = this.env.models['mail.partner'].create( Object.assign( this.env.models['mail.partner'].convertData(data.livechat_visitor), |
