diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-02-01 18:20:28 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-02-01 18:20:28 +0100 |
| commit | e00a447e2ca277697bd3e3cae5196e8177d3e867 (patch) | |
| tree | c8580e47f101f75ceccd6ba19f9649b575f99177 /addons/resource/models/resource.py | |
| parent | cde120058aa4edd259b7d7e1624465af313710fe (diff) | |
| parent | 7e469eb77aae1f7e05a3ce0f6575b5149fed3ca1 (diff) | |
[MERGE] forward port branch saas-11.1 up to 7e469eb77aa
Diffstat (limited to 'addons/resource/models/resource.py')
| -rw-r--r-- | addons/resource/models/resource.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/addons/resource/models/resource.py b/addons/resource/models/resource.py index 5a34afa53a4..b7e2cb4ab62 100644 --- a/addons/resource/models/resource.py +++ b/addons/resource/models/resource.py @@ -142,6 +142,8 @@ class ResourceCalendar(models.Model): ) def _interval_and(self, interval, interval_dst): + if interval.start_datetime > interval_dst.end_datetime or interval.end_datetime < interval_dst.start_datetime: + return None return self._interval_obj( interval.start_datetime > interval_dst.start_datetime and interval.start_datetime or interval_dst.start_datetime, interval.end_datetime < interval_dst.end_datetime and interval.end_datetime or interval_dst.end_datetime, @@ -406,10 +408,10 @@ class ResourceCalendar(models.Model): start_datetime=datetime.datetime.combine(day_date, start_time), end_datetime=datetime.datetime.combine(day_date, end_time)) - final_intervals = [ - self._interval_and(leave_interval, work_interval) - for leave_interval in leaves_intervals - for work_interval in working_intervals] + final_intervals = [i for i in + [self._interval_and(leave_interval, work_interval) + for leave_interval in leaves_intervals + for work_interval in working_intervals] if i] # adapt tz return [self._interval_new( |
