diff --git a/addons/im_livechat/data/im_livechat_channel_data.xml b/addons/im_livechat/data/im_livechat_channel_data.xml index 514baae43dc..f0e0de67550 100644 --- a/addons/im_livechat/data/im_livechat_channel_data.xml +++ b/addons/im_livechat/data/im_livechat_channel_data.xml @@ -1,20 +1,5 @@ - - - - [im_livechat] Remove empty anonymous sessions - 1 - days - -1 - - mail.channel - cron_remove_empty_session - - - - - diff --git a/addons/im_livechat/models/__init__.py b/addons/im_livechat/models/__init__.py index 687ed1047e5..070d41c6504 100644 --- a/addons/im_livechat/models/__init__.py +++ b/addons/im_livechat/models/__init__.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -* import im_livechat_channel +import ir_autovacuum import mail_channel import rating diff --git a/addons/im_livechat/models/ir_autovacuum.py b/addons/im_livechat/models/ir_autovacuum.py new file mode 100644 index 00000000000..3fc648531d0 --- /dev/null +++ b/addons/im_livechat/models/ir_autovacuum.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, models + + +class AutoVacuum(models.AbstractModel): + _inherit = 'ir.autovacuum' + + @api.model + def power_on(self, *args, **kwargs): + self.pool['mail.channel'].remove_empty_livechat_sessions() + return super(AutoVacuum, self).power_on(*args, **kwargs) diff --git a/addons/im_livechat/models/mail_channel.py b/addons/im_livechat/models/mail_channel.py index b90f9e2e532..2ef513acb09 100644 --- a/addons/im_livechat/models/mail_channel.py +++ b/addons/im_livechat/models/mail_channel.py @@ -62,8 +62,8 @@ class MailChannel(models.Model): return values @api.model - def cron_remove_empty_session(self): - hours = 1 # never remove empty session created within the last hour + def remove_empty_livechat_sessions(self): + hours = 1 # never remove empty session created within the last hour self.env.cr.execute(""" SELECT id as id FROM mail_channel C