summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorFlorent de Labarre <florent.mirieu@gmail.com>2021-05-17 11:11:34 +0000
committerFlorent de Labarre <florent.mirieu@gmail.com>2021-05-17 11:11:34 +0000
commit36a9e761c8d6c1c6e9611cc410ecca82ff2b1659 (patch)
treee8737fd04750f6a807c01fde83ed86be34983679 /addons
parentc49bcce249b9ffcbc98dded17b6dbe71a1c22552 (diff)
[FIX] mail: prevent useless write
In database with frontend and live chat there are lot of bad query error. bad query: UPDATE "mail_channel_partner" SET "write_uid"=5,"write_date"=(now() at time zone 'UTC') WHERE id IN (328111) closes odoo/odoo#70506 Error: Could not serialize access due to concurrent update Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/mail/models/mail_channel.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/addons/mail/models/mail_channel.py b/addons/mail/models/mail_channel.py
index f933e3071e2..d8732bfa029 100644
--- a/addons/mail/models/mail_channel.py
+++ b/addons/mail/models/mail_channel.py
@@ -775,7 +775,7 @@ class Channel(models.Model):
""" Hook for website_livechat channel unpin and cleaning """
self.ensure_one()
channel_partners = self.env['mail.channel.partner'].search(
- [('partner_id', '=', self.env.user.partner_id.id), ('channel_id', '=', self.id)])
+ [('partner_id', '=', self.env.user.partner_id.id), ('channel_id', '=', self.id), ('is_pinned', '!=', pinned)])
self.env['bus.bus'].sendone((self._cr.dbname, 'res.partner', self.env.user.partner_id.id), self.channel_info('unsubscribe' if not pinned else False)[0])
if channel_partners:
channel_partners.write({'is_pinned': pinned})