diff options
| author | Florent de Labarre <florent.mirieu@gmail.com> | 2021-05-17 11:11:34 +0000 |
|---|---|---|
| committer | Florent de Labarre <florent.mirieu@gmail.com> | 2021-05-17 11:11:34 +0000 |
| commit | 36a9e761c8d6c1c6e9611cc410ecca82ff2b1659 (patch) | |
| tree | e8737fd04750f6a807c01fde83ed86be34983679 /addons | |
| parent | c49bcce249b9ffcbc98dded17b6dbe71a1c22552 (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.py | 2 |
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}) |
