From b3705b95ef38d1cee7ce62e475b9b855eca2cd92 Mon Sep 17 00:00:00 2001 From: eloyoussef Date: Fri, 9 Mar 2018 14:30:58 +0100 Subject: [PATCH] =?UTF-8?q?depasser=20la=20verification=20du=20jours=20et?= =?UTF-8?q?=20heurs=20en=20cas=20de=20disponibilit=C3=A9=20total?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../models/golem_resource_reservation.py | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/golem_resource/models/golem_resource_reservation.py b/golem_resource/models/golem_resource_reservation.py index 1b654ed..c43d64c 100644 --- a/golem_resource/models/golem_resource_reservation.py +++ b/golem_resource/models/golem_resource_reservation.py @@ -169,23 +169,25 @@ class GolemResourceReservation(models.Model): 'this period, please choose another périod before ' 'confirming') raise ValidationError(verr) - # Check if reservation is not taking place out the avaibility timetables - is_day_allowed = False - for timetable in reservation.resource_id.timetable_ids: - # Check for the time according to resource timetable avaibility - date = fields.Datetime.from_string(reservation.date) - if int(timetable.weekday) == date.weekday(): - is_day_allowed = True - if reservation.hour_start < timetable.time_start or \ - reservation.hour_stop > timetable.time_stop: - verr = _('Not allowed, the resource is not available ' - 'during this period, please choose another ' - 'time before confirming.') - raise ValidationError(verr) - if not is_day_allowed: - verr = _('Not allowed, the resource is not available ' - 'this day. Please choose another date.') - raise ValidationError(verr) + #check if the resource hasn't a total availibility + if not reservation.resource_id.availibility_24_7: + # Check if reservation is not taking place out the avaibility timetables + is_day_allowed = False + for timetable in reservation.resource_id.timetable_ids: + # Check for the time according to resource timetable avaibility + date = fields.Datetime.from_string(reservation.date) + if int(timetable.weekday) == date.weekday(): + is_day_allowed = True + if reservation.hour_start < timetable.time_start or \ + reservation.hour_stop > timetable.time_stop: + verr = _('Not allowed, the resource is not available ' + 'during this period, please choose another ' + 'time before confirming.') + raise ValidationError(verr) + if not is_day_allowed: + verr = _('Not allowed, the resource is not available ' + 'this day. Please choose another date.') + raise ValidationError(verr) # Check if the resource is already taken during this period # PERF : check the date, not iterate over all reservations domain = [('resource_id', '=', reservation.resource_id.id), @@ -203,7 +205,7 @@ class GolemResourceReservation(models.Model): other_res.date_stop)) @api.multi def reservation_calendar(self): - """ current resource reservation list """ + """ current resource reservation calendar """ self.ensure_one() calendar_view = { 'name': ('Resource Reservation list'),