From 3f89b56f4f2e90b2977040688a332d86f3b55369 Mon Sep 17 00:00:00 2001 From: Benjamin <benjamin@le-filament.com> Date: Tue, 24 Mar 2020 13:31:47 +0100 Subject: [PATCH] =?UTF-8?q?[cgscop=20#172]=20ajout=20contrainte=20inclusio?= =?UTF-8?q?n=20cr=C3=A9neau=20horaire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/calendar.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/models/calendar.py b/models/calendar.py index 9022995..34b3052 100644 --- a/models/calendar.py +++ b/models/calendar.py @@ -117,6 +117,7 @@ class CGScopCalendar(models.Model): # Récupère les entrées en intersection # avec la plage horaire entries = self.search([ + '|', '|', '&', ('start', '>', event.start), @@ -124,13 +125,18 @@ class CGScopCalendar(models.Model): '&', ('stop', '>', event.start), ('stop', '<', event.stop), + '&', + ('start', '<=', event.start), + ('stop', '>=', event.stop), ('user_id', '=', self.env.uid), ('project_id', '=', event.project_id.id), - ('id', '!=', event.id)]) + ('id', '!=', event.id) + ]) if entries: raise ValidationError( "Vous ne pourvez programmer 2 évènements avec le " - "même code activité sur la même plage horaire") + "même code activité sur la même plage horaire\n" + "Evènement : %s" % str(entries.mapped('name'))[1:-1]) # ------------------------------------------------------ # Fonction boutons -- GitLab