diff --git a/addons/resource/models/resource.py b/addons/resource/models/resource.py index ebe4fd24066..ebb2ab7ba6f 100644 --- a/addons/resource/models/resource.py +++ b/addons/resource/models/resource.py @@ -422,7 +422,7 @@ class ResourceCalendar(models.Model): for day in rrule.rrule(rrule.DAILY, dtstart=start_dt, - until=end_dt, + until=end_dt.replace(hour=23, minute=59, second=59, microsecond=999999), byweekday=self._get_weekdays()): start_time = datetime.time.min if day.date() == start_dt.date(): @@ -451,7 +451,7 @@ class ResourceCalendar(models.Model): for day in rrule.rrule(rrule.DAILY, dtstart=start_dt, - until=end_dt, + until=end_dt.replace(hour=23, minute=59, second=59, microsecond=999999), byweekday=self._get_weekdays()): start_time = datetime.time.min if day.date() == start_dt.date(): diff --git a/addons/resource/tests/test_resource.py b/addons/resource/tests/test_resource.py index 16d6c5a0ede..2e8df285e8f 100644 --- a/addons/resource/tests/test_resource.py +++ b/addons/resource/tests/test_resource.py @@ -233,6 +233,15 @@ class ResourceWorkingHours(TestResourceCommon): compute_leaves=False) self.assertEqual(res, 40.0) + def test_calendar_working_hours_count(self): + calendar = self.env.ref('resource.resource_calendar_std_35h') + res = calendar.get_work_hours_count( + Datetime.from_string('2017-05-03 14:03:00'), # Wednesday (8:00-12:00, 13:00-16:00) + Datetime.from_string('2017-05-04 11:03:00'), # Thursday (8:00-12:00, 13:00-16:00) + resource_id=None, + compute_leaves=False) + self.assertEqual(res, 5.0) + def test_calendar_working_hours_leaves(self): # new API: resource and leaves # res: 2 weeks -> 40 hours - (3+4) leave hours