summaryrefslogtreecommitdiff
path: root/addons/resource/models
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-02-01 18:20:28 +0100
committerChristophe Simonis <chs@odoo.com>2018-02-01 18:20:28 +0100
commite00a447e2ca277697bd3e3cae5196e8177d3e867 (patch)
treec8580e47f101f75ceccd6ba19f9649b575f99177 /addons/resource/models
parentcde120058aa4edd259b7d7e1624465af313710fe (diff)
parent7e469eb77aae1f7e05a3ce0f6575b5149fed3ca1 (diff)
[MERGE] forward port branch saas-11.1 up to 7e469eb77aa
Diffstat (limited to 'addons/resource/models')
-rw-r--r--addons/resource/models/resource.py10
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(