From 68bb843ccbec61497443c728429cede3f9f8c79a Mon Sep 17 00:00:00 2001 From: Richard Mathot Date: Wed, 4 Jan 2017 11:33:31 +0100 Subject: [PATCH] [FIX] calendar: strengthen data model for contacts It makes no sense to have twice the same calendar contact (=calendar favorite filters) for one user. --- addons/calendar/models/calendar.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/calendar/models/calendar.py b/addons/calendar/models/calendar.py index ab1c7f19309..dc398afed3c 100644 --- a/addons/calendar/models/calendar.py +++ b/addons/calendar/models/calendar.py @@ -65,10 +65,14 @@ def is_calendar_id(record_id): class Contacts(models.Model): _name = 'calendar.contacts' - user_id = fields.Many2one('res.users', 'Me', default=lambda self: self.env.user) + user_id = fields.Many2one('res.users', 'Me', required=True, default=lambda self: self.env.user) partner_id = fields.Many2one('res.partner', 'Employee', required=True) active = fields.Boolean('Active', default=True) + _sql_constraints = [ + ('user_id_partner_id_unique', 'UNIQUE(user_id,partner_id)', 'An user cannot have twice the same contact.') + ] + @api.model def unlink_from_partner_id(self, partner_id): return self.search([('partner_id', '=', partner_id)]).unlink()