[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#71207 Error: Could not serialize access due to concurrent update X-original-commit: 36a9e761c8d6c1c6e9611cc410ecca82ff2b1659 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit is contained in:
@@ -983,7 +983,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})
|
||||
|
||||
Reference in New Issue
Block a user