diff --git a/addons/im_livechat/models/mail_channel.py b/addons/im_livechat/models/mail_channel.py index 2119baf38cc..eded0ff17da 100644 --- a/addons/im_livechat/models/mail_channel.py +++ b/addons/im_livechat/models/mail_channel.py @@ -58,6 +58,7 @@ class MailChannel(models.Model): @api.model def cron_remove_empty_session(self): + hours = 1 # never remove empty session created within the last hour self.env.cr.execute(""" SELECT id as id FROM mail_channel C @@ -65,7 +66,8 @@ class MailChannel(models.Model): SELECT * FROM mail_message_mail_channel_rel R WHERE R.mail_channel_id = C.id - ) AND C.channel_type = 'livechat' AND livechat_channel_id IS NOT NULL; - """) + ) AND C.channel_type = 'livechat' AND livechat_channel_id IS NOT NULL AND + COALESCE(write_date, create_date, (now() at time zone 'UTC'))::timestamp + < ((now() at time zone 'UTC') - interval %s)""", ("%s hours" % hours,)) empty_channel_ids = [item['id'] for item in self.env.cr.dictfetchall()] self.browse(empty_channel_ids).unlink()