From d81884b98fc4f4c4e0f1a32348257517454e2bcc Mon Sep 17 00:00:00 2001 From: "Louis Wicket (wil)" Date: Mon, 13 Sep 2021 13:56:23 +0000 Subject: [PATCH] [FIX] mail, bus: move user unique index in bus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move user unique index back in bus module so that it is defined even without mail module installed. closes odoo/odoo#76454 X-original-commit: beb25dff5af816fa30341490374c9da44da175c1 Signed-off-by: Sébastien Theys (seb) --- addons/bus/models/bus_presence.py | 3 +++ addons/mail/models/bus_presence.py | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/bus/models/bus_presence.py b/addons/bus/models/bus_presence.py index afee25eb834..f6d5513c6ce 100644 --- a/addons/bus/models/bus_presence.py +++ b/addons/bus/models/bus_presence.py @@ -30,6 +30,9 @@ class BusPresence(models.Model): last_presence = fields.Datetime('Last Presence', default=lambda self: fields.Datetime.now()) status = fields.Selection([('online', 'Online'), ('away', 'Away'), ('offline', 'Offline')], 'IM Status', default='offline') + def init(self): + self.env.cr.execute("CREATE UNIQUE INDEX IF NOT EXISTS bus_presence_user_unique ON %s (user_id) WHERE user_id IS NOT NULL" % self._table) + @api.model def update(self, inactivity_period, identity_field, identity_value): """ Updates the last_poll and last_presence of the current user diff --git a/addons/mail/models/bus_presence.py b/addons/mail/models/bus_presence.py index cc6eccc3280..468f284b22a 100644 --- a/addons/mail/models/bus_presence.py +++ b/addons/mail/models/bus_presence.py @@ -9,7 +9,6 @@ class BusPresence(models.Model): guest_id = fields.Many2one('mail.guest', 'Guest', ondelete='cascade') def init(self): - self.env.cr.execute("CREATE UNIQUE INDEX IF NOT EXISTS bus_presence_user_unique ON %s (user_id) WHERE user_id IS NOT NULL" % self._table) self.env.cr.execute("CREATE UNIQUE INDEX IF NOT EXISTS bus_presence_guest_unique ON %s (guest_id) WHERE guest_id IS NOT NULL" % self._table) _sql_constraints = [