[FIX] resource: get_working_intervals_of_day
Use patch from 8.0 (64e1c28e35
) instead of the one from 7.0 (bbd15cdca6
).
This commit is contained in:
parent
d48aa27cce
commit
024177ebc4
|
@ -333,15 +333,14 @@ class resource_calendar(osv.osv):
|
||||||
intervals.append((start_dt.replace(hour=default_interval[0]), start_dt.replace(hour=default_interval[1])))
|
intervals.append((start_dt.replace(hour=default_interval[0]), start_dt.replace(hour=default_interval[1])))
|
||||||
return intervals
|
return intervals
|
||||||
|
|
||||||
tzinfo = fields.datetime.context_timestamp(cr, uid, work_dt, context={}).tzinfo
|
|
||||||
working_intervals = []
|
working_intervals = []
|
||||||
|
tz_info = fields.datetime.context_timestamp(cr, uid, work_dt, context=context).tzinfo
|
||||||
for calendar_working_day in self.get_attendances_for_weekdays(cr, uid, id, [start_dt.weekday()], context):
|
for calendar_working_day in self.get_attendances_for_weekdays(cr, uid, id, [start_dt.weekday()], context):
|
||||||
hour_from = work_dt.replace(hour=int(calendar_working_day.hour_from)).replace(tzinfo=tzinfo).astimezone(pytz.UTC).hour
|
x = work_dt.replace(hour=int(calendar_working_day.hour_from))
|
||||||
hour_to = work_dt.replace(hour=int(calendar_working_day.hour_to)).replace(tzinfo=tzinfo).astimezone(pytz.UTC).hour
|
y = work_dt.replace(hour=int(calendar_working_day.hour_to))
|
||||||
working_interval = (
|
x = x.replace(tzinfo=tz_info).astimezone(pytz.UTC).replace(tzinfo=None)
|
||||||
work_dt.replace(hour=int(hour_from)),
|
y = y.replace(tzinfo=tz_info).astimezone(pytz.UTC).replace(tzinfo=None)
|
||||||
work_dt.replace(hour=int(hour_to))
|
working_interval = (x, y)
|
||||||
)
|
|
||||||
working_intervals += self.interval_remove_leaves(working_interval, work_limits)
|
working_intervals += self.interval_remove_leaves(working_interval, work_limits)
|
||||||
|
|
||||||
# find leave intervals
|
# find leave intervals
|
||||||
|
@ -597,7 +596,7 @@ class resource_calendar(osv.osv):
|
||||||
for dt_str, hours, calendar_id in date_and_hours_by_cal:
|
for dt_str, hours, calendar_id in date_and_hours_by_cal:
|
||||||
result = self.schedule_hours(
|
result = self.schedule_hours(
|
||||||
cr, uid, calendar_id, hours,
|
cr, uid, calendar_id, hours,
|
||||||
day_dt=datetime.datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S').replace(minute=0, second=0),
|
day_dt=datetime.datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S').replace(second=0),
|
||||||
compute_leaves=True, resource_id=resource,
|
compute_leaves=True, resource_id=resource,
|
||||||
default_interval=(8, 16)
|
default_interval=(8, 16)
|
||||||
)
|
)
|
||||||
|
|
|
@ -29,8 +29,9 @@ class TestResourceCommon(common.TransactionCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestResourceCommon, self).setUp()
|
super(TestResourceCommon, self).setUp()
|
||||||
cr, uid = self.cr, self.uid
|
cr, uid = self.cr, self.uid
|
||||||
if not hasattr(self, 'context'):
|
self.context = context = dict(tz='UTC')
|
||||||
self.context = {}
|
|
||||||
|
self.registry('res.users').write(cr, uid, uid, {'tz': 'UTC'}, context=context)
|
||||||
|
|
||||||
# Usefull models
|
# Usefull models
|
||||||
self.resource_resource = self.registry('resource.resource')
|
self.resource_resource = self.registry('resource.resource')
|
||||||
|
@ -56,7 +57,7 @@ class TestResourceCommon(common.TransactionCase):
|
||||||
self.calendar_id = self.resource_calendar.create(
|
self.calendar_id = self.resource_calendar.create(
|
||||||
cr, uid, {
|
cr, uid, {
|
||||||
'name': 'TestCalendar',
|
'name': 'TestCalendar',
|
||||||
}
|
}, context=context
|
||||||
)
|
)
|
||||||
self.att1_id = self.resource_attendance.create(
|
self.att1_id = self.resource_attendance.create(
|
||||||
cr, uid, {
|
cr, uid, {
|
||||||
|
@ -65,7 +66,7 @@ class TestResourceCommon(common.TransactionCase):
|
||||||
'hour_from': 8,
|
'hour_from': 8,
|
||||||
'hour_to': 16,
|
'hour_to': 16,
|
||||||
'calendar_id': self.calendar_id,
|
'calendar_id': self.calendar_id,
|
||||||
}
|
}, context=context
|
||||||
)
|
)
|
||||||
self.att2_id = self.resource_attendance.create(
|
self.att2_id = self.resource_attendance.create(
|
||||||
cr, uid, {
|
cr, uid, {
|
||||||
|
@ -74,7 +75,7 @@ class TestResourceCommon(common.TransactionCase):
|
||||||
'hour_from': 8,
|
'hour_from': 8,
|
||||||
'hour_to': 13,
|
'hour_to': 13,
|
||||||
'calendar_id': self.calendar_id,
|
'calendar_id': self.calendar_id,
|
||||||
}
|
}, context=context
|
||||||
)
|
)
|
||||||
self.att3_id = self.resource_attendance.create(
|
self.att3_id = self.resource_attendance.create(
|
||||||
cr, uid, {
|
cr, uid, {
|
||||||
|
@ -83,7 +84,7 @@ class TestResourceCommon(common.TransactionCase):
|
||||||
'hour_from': 16,
|
'hour_from': 16,
|
||||||
'hour_to': 23,
|
'hour_to': 23,
|
||||||
'calendar_id': self.calendar_id,
|
'calendar_id': self.calendar_id,
|
||||||
}
|
}, context=context
|
||||||
)
|
)
|
||||||
self.resource1_id = self.resource_resource.create(
|
self.resource1_id = self.resource_resource.create(
|
||||||
cr, uid, {
|
cr, uid, {
|
||||||
|
@ -91,7 +92,7 @@ class TestResourceCommon(common.TransactionCase):
|
||||||
'resource_type': 'user',
|
'resource_type': 'user',
|
||||||
'time_efficiency': 150.0,
|
'time_efficiency': 150.0,
|
||||||
'calendar_id': self.calendar_id,
|
'calendar_id': self.calendar_id,
|
||||||
}
|
}, context=context
|
||||||
)
|
)
|
||||||
self.leave1_id = self.resource_leaves.create(
|
self.leave1_id = self.resource_leaves.create(
|
||||||
cr, uid, {
|
cr, uid, {
|
||||||
|
@ -99,7 +100,7 @@ class TestResourceCommon(common.TransactionCase):
|
||||||
'calendar_id': self.calendar_id,
|
'calendar_id': self.calendar_id,
|
||||||
'date_from': self.leave1_start,
|
'date_from': self.leave1_start,
|
||||||
'date_to': self.leave1_end,
|
'date_to': self.leave1_end,
|
||||||
}
|
}, context=context
|
||||||
)
|
)
|
||||||
self.leave2_id = self.resource_leaves.create(
|
self.leave2_id = self.resource_leaves.create(
|
||||||
cr, uid, {
|
cr, uid, {
|
||||||
|
@ -108,7 +109,7 @@ class TestResourceCommon(common.TransactionCase):
|
||||||
'resource_id': self.resource1_id,
|
'resource_id': self.resource1_id,
|
||||||
'date_from': self.leave2_start,
|
'date_from': self.leave2_start,
|
||||||
'date_to': self.leave2_end,
|
'date_to': self.leave2_end,
|
||||||
}
|
}, context=context
|
||||||
)
|
)
|
||||||
self.leave3_id = self.resource_leaves.create(
|
self.leave3_id = self.resource_leaves.create(
|
||||||
cr, uid, {
|
cr, uid, {
|
||||||
|
@ -117,7 +118,7 @@ class TestResourceCommon(common.TransactionCase):
|
||||||
'resource_id': self.resource1_id,
|
'resource_id': self.resource1_id,
|
||||||
'date_from': self.leave3_start,
|
'date_from': self.leave3_start,
|
||||||
'date_to': self.leave3_end,
|
'date_to': self.leave3_end,
|
||||||
}
|
}, context=context
|
||||||
)
|
)
|
||||||
# Some browse data
|
# Some browse data
|
||||||
self.calendar = self.resource_calendar.browse(cr, uid, self.calendar_id)
|
self.calendar = self.resource_calendar.browse(cr, uid, self.calendar_id, context=context)
|
||||||
|
|
|
@ -150,16 +150,17 @@ class TestResource(TestResourceCommon):
|
||||||
def test_20_calendar_working_intervals(self):
|
def test_20_calendar_working_intervals(self):
|
||||||
""" Testing working intervals computing method of resource.calendar """
|
""" Testing working intervals computing method of resource.calendar """
|
||||||
cr, uid = self.cr, self.uid
|
cr, uid = self.cr, self.uid
|
||||||
|
context = self.context
|
||||||
_format = '%Y-%m-%d %H:%M:%S'
|
_format = '%Y-%m-%d %H:%M:%S'
|
||||||
|
|
||||||
# Test: day0 without leaves: 1 interval
|
# Test: day0 without leaves: 1 interval
|
||||||
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id, start_dt=self.date1)
|
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id, start_dt=self.date1, context=context)
|
||||||
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working intervals')
|
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working intervals')
|
||||||
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-12 09:08:07', _format), 'resource_calendar: wrong working intervals')
|
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-12 09:08:07', _format), 'resource_calendar: wrong working intervals')
|
||||||
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong working intervals')
|
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong working intervals')
|
||||||
|
|
||||||
# Test: day3 without leaves: 2 interval
|
# Test: day3 without leaves: 2 interval
|
||||||
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id, start_dt=self.date2)
|
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id, start_dt=self.date2, context=context)
|
||||||
self.assertEqual(len(intervals), 2, 'resource_calendar: wrong working intervals')
|
self.assertEqual(len(intervals), 2, 'resource_calendar: wrong working intervals')
|
||||||
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-15 10:11:12', _format), 'resource_calendar: wrong working intervals')
|
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-15 10:11:12', _format), 'resource_calendar: wrong working intervals')
|
||||||
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-15 13:00:00', _format), 'resource_calendar: wrong working intervals')
|
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-15 13:00:00', _format), 'resource_calendar: wrong working intervals')
|
||||||
|
@ -167,7 +168,7 @@ class TestResource(TestResourceCommon):
|
||||||
self.assertEqual(intervals[1][1], datetime.strptime('2013-02-15 23:00:00', _format), 'resource_calendar: wrong working intervals')
|
self.assertEqual(intervals[1][1], datetime.strptime('2013-02-15 23:00:00', _format), 'resource_calendar: wrong working intervals')
|
||||||
|
|
||||||
# Test: day0 with leaves outside range: 1 interval
|
# Test: day0 with leaves outside range: 1 interval
|
||||||
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id, start_dt=self.date1.replace(hour=0), compute_leaves=True)
|
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id, start_dt=self.date1.replace(hour=0), compute_leaves=True, context=context)
|
||||||
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working intervals')
|
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working intervals')
|
||||||
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-12 08:00:00', _format), 'resource_calendar: wrong working intervals')
|
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-12 08:00:00', _format), 'resource_calendar: wrong working intervals')
|
||||||
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong working intervals')
|
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong working intervals')
|
||||||
|
@ -176,7 +177,7 @@ class TestResource(TestResourceCommon):
|
||||||
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id,
|
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id,
|
||||||
start_dt=self.date1.replace(hour=8) + relativedelta(days=7),
|
start_dt=self.date1.replace(hour=8) + relativedelta(days=7),
|
||||||
end_dt=self.date1.replace(hour=15, minute=45, second=30) + relativedelta(days=7),
|
end_dt=self.date1.replace(hour=15, minute=45, second=30) + relativedelta(days=7),
|
||||||
compute_leaves=True)
|
compute_leaves=True, context=context)
|
||||||
self.assertEqual(len(intervals), 2, 'resource_calendar: wrong working intervals')
|
self.assertEqual(len(intervals), 2, 'resource_calendar: wrong working intervals')
|
||||||
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-19 08:08:07', _format), 'resource_calendar: wrong working intervals')
|
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-19 08:08:07', _format), 'resource_calendar: wrong working intervals')
|
||||||
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-19 09:00:00', _format), 'resource_calendar: wrong working intervals')
|
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-19 09:00:00', _format), 'resource_calendar: wrong working intervals')
|
||||||
|
@ -186,21 +187,22 @@ class TestResource(TestResourceCommon):
|
||||||
def test_30_calendar_working_days(self):
|
def test_30_calendar_working_days(self):
|
||||||
""" Testing calendar hours computation on a working day """
|
""" Testing calendar hours computation on a working day """
|
||||||
cr, uid = self.cr, self.uid
|
cr, uid = self.cr, self.uid
|
||||||
|
context = self.context
|
||||||
_format = '%Y-%m-%d %H:%M:%S'
|
_format = '%Y-%m-%d %H:%M:%S'
|
||||||
|
|
||||||
# Test: day1, beginning at 10:30 -> work from 10:30 (arrival) until 16:00
|
# Test: day1, beginning at 10:30 -> work from 10:30 (arrival) until 16:00
|
||||||
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id, start_dt=self.date1.replace(hour=10, minute=30, second=0))
|
intervals = self.resource_calendar.get_working_intervals_of_day(cr, uid, self.calendar_id, start_dt=self.date1.replace(hour=10, minute=30, second=0), context=context)
|
||||||
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working interval / day computing')
|
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working interval / day computing')
|
||||||
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-12 10:30:00', _format), 'resource_calendar: wrong working interval / day computing')
|
self.assertEqual(intervals[0][0], datetime.strptime('2013-02-12 10:30:00', _format), 'resource_calendar: wrong working interval / day computing')
|
||||||
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong working interval / day computing')
|
self.assertEqual(intervals[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong working interval / day computing')
|
||||||
# Test: hour computation for same interval, should give 5.5
|
# Test: hour computation for same interval, should give 5.5
|
||||||
wh = self.resource_calendar.get_working_hours_of_date(cr, uid, self.calendar_id, start_dt=self.date1.replace(hour=10, minute=30, second=0))
|
wh = self.resource_calendar.get_working_hours_of_date(cr, uid, self.calendar_id, start_dt=self.date1.replace(hour=10, minute=30, second=0), context=context)
|
||||||
self.assertEqual(wh, 5.5, 'resource_calendar: wrong working interval / day time computing')
|
self.assertEqual(wh, 5.5, 'resource_calendar: wrong working interval / day time computing')
|
||||||
|
|
||||||
# Test: day1+7 on leave, without leave computation
|
# Test: day1+7 on leave, without leave computation
|
||||||
intervals = self.resource_calendar.get_working_intervals_of_day(
|
intervals = self.resource_calendar.get_working_intervals_of_day(
|
||||||
cr, uid, self.calendar_id,
|
cr, uid, self.calendar_id,
|
||||||
start_dt=self.date1.replace(hour=7, minute=0, second=0) + relativedelta(days=7)
|
start_dt=self.date1.replace(hour=7, minute=0, second=0) + relativedelta(days=7), context=context
|
||||||
)
|
)
|
||||||
# Result: day1 (08->16)
|
# Result: day1 (08->16)
|
||||||
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working interval/day computing')
|
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working interval/day computing')
|
||||||
|
@ -211,7 +213,7 @@ class TestResource(TestResourceCommon):
|
||||||
intervals = self.resource_calendar.get_working_intervals_of_day(
|
intervals = self.resource_calendar.get_working_intervals_of_day(
|
||||||
cr, uid, self.calendar_id,
|
cr, uid, self.calendar_id,
|
||||||
start_dt=self.date1.replace(hour=7, minute=0, second=0) + relativedelta(days=7),
|
start_dt=self.date1.replace(hour=7, minute=0, second=0) + relativedelta(days=7),
|
||||||
compute_leaves=True
|
compute_leaves=True, context=context
|
||||||
)
|
)
|
||||||
# Result: day1 (08->09 + 12->16)
|
# Result: day1 (08->09 + 12->16)
|
||||||
self.assertEqual(len(intervals), 2, 'resource_calendar: wrong working interval/day computing')
|
self.assertEqual(len(intervals), 2, 'resource_calendar: wrong working interval/day computing')
|
||||||
|
@ -224,7 +226,7 @@ class TestResource(TestResourceCommon):
|
||||||
intervals = self.resource_calendar.get_working_intervals_of_day(
|
intervals = self.resource_calendar.get_working_intervals_of_day(
|
||||||
cr, uid, self.calendar_id,
|
cr, uid, self.calendar_id,
|
||||||
start_dt=self.date1.replace(hour=7, minute=0, second=0) + relativedelta(days=14),
|
start_dt=self.date1.replace(hour=7, minute=0, second=0) + relativedelta(days=14),
|
||||||
compute_leaves=True
|
compute_leaves=True, context=context
|
||||||
)
|
)
|
||||||
# Result: day1 (08->16)
|
# Result: day1 (08->16)
|
||||||
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working interval/day computing')
|
self.assertEqual(len(intervals), 1, 'resource_calendar: wrong working interval/day computing')
|
||||||
|
@ -236,7 +238,7 @@ class TestResource(TestResourceCommon):
|
||||||
cr, uid, self.calendar_id,
|
cr, uid, self.calendar_id,
|
||||||
start_dt=self.date1.replace(hour=7, minute=0, second=0) + relativedelta(days=14),
|
start_dt=self.date1.replace(hour=7, minute=0, second=0) + relativedelta(days=14),
|
||||||
compute_leaves=True,
|
compute_leaves=True,
|
||||||
resource_id=self.resource1_id
|
resource_id=self.resource1_id, context=context
|
||||||
)
|
)
|
||||||
# Result: nothing, because on leave
|
# Result: nothing, because on leave
|
||||||
self.assertEqual(len(intervals), 0, 'resource_calendar: wrong working interval/day computing')
|
self.assertEqual(len(intervals), 0, 'resource_calendar: wrong working interval/day computing')
|
||||||
|
@ -244,6 +246,7 @@ class TestResource(TestResourceCommon):
|
||||||
def test_40_calendar_hours_scheduling(self):
|
def test_40_calendar_hours_scheduling(self):
|
||||||
""" Testing calendar hours scheduling """
|
""" Testing calendar hours scheduling """
|
||||||
cr, uid = self.cr, self.uid
|
cr, uid = self.cr, self.uid
|
||||||
|
context = self.context
|
||||||
_format = '%Y-%m-%d %H:%M:%S'
|
_format = '%Y-%m-%d %H:%M:%S'
|
||||||
|
|
||||||
# --------------------------------------------------
|
# --------------------------------------------------
|
||||||
|
@ -268,7 +271,7 @@ class TestResource(TestResourceCommon):
|
||||||
# (datetime.datetime(2013, 2, 8, 16, 0), datetime.datetime(2013, 2, 8, 23, 0))
|
# (datetime.datetime(2013, 2, 8, 16, 0), datetime.datetime(2013, 2, 8, 23, 0))
|
||||||
# (datetime.datetime(2013, 2, 12, 8, 0), datetime.datetime(2013, 2, 12, 9, 0))
|
# (datetime.datetime(2013, 2, 12, 8, 0), datetime.datetime(2013, 2, 12, 9, 0))
|
||||||
|
|
||||||
res = self.resource_calendar.schedule_hours(cr, uid, self.calendar_id, -40, day_dt=self.date1.replace(minute=0, second=0))
|
res = self.resource_calendar.schedule_hours(cr, uid, self.calendar_id, -40, day_dt=self.date1.replace(minute=0, second=0), context=context)
|
||||||
# current day, limited at 09:00 because of day_dt specified -> 1 hour
|
# current day, limited at 09:00 because of day_dt specified -> 1 hour
|
||||||
self.assertEqual(res[-1][0], datetime.strptime('2013-02-12 08:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
self.assertEqual(res[-1][0], datetime.strptime('2013-02-12 08:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
||||||
self.assertEqual(res[-1][1], datetime.strptime('2013-02-12 09:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
self.assertEqual(res[-1][1], datetime.strptime('2013-02-12 09:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
||||||
|
@ -307,7 +310,7 @@ class TestResource(TestResourceCommon):
|
||||||
|
|
||||||
res = self.resource_calendar.schedule_hours(
|
res = self.resource_calendar.schedule_hours(
|
||||||
cr, uid, self.calendar_id, 40,
|
cr, uid, self.calendar_id, 40,
|
||||||
day_dt=self.date1.replace(minute=0, second=0)
|
day_dt=self.date1.replace(minute=0, second=0), context=context
|
||||||
)
|
)
|
||||||
self.assertEqual(res[0][0], datetime.strptime('2013-02-12 09:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
self.assertEqual(res[0][0], datetime.strptime('2013-02-12 09:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
||||||
self.assertEqual(res[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
self.assertEqual(res[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
||||||
|
@ -341,7 +344,7 @@ class TestResource(TestResourceCommon):
|
||||||
cr, uid, self.calendar_id, 40,
|
cr, uid, self.calendar_id, 40,
|
||||||
day_dt=self.date1.replace(minute=0, second=0),
|
day_dt=self.date1.replace(minute=0, second=0),
|
||||||
compute_leaves=True,
|
compute_leaves=True,
|
||||||
resource_id=self.resource1_id
|
resource_id=self.resource1_id, context=context
|
||||||
)
|
)
|
||||||
self.assertEqual(res[0][0], datetime.strptime('2013-02-12 09:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
self.assertEqual(res[0][0], datetime.strptime('2013-02-12 09:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
||||||
self.assertEqual(res[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
self.assertEqual(res[0][1], datetime.strptime('2013-02-12 16:00:00', _format), 'resource_calendar: wrong hours scheduling')
|
||||||
|
@ -376,7 +379,7 @@ class TestResource(TestResourceCommon):
|
||||||
cr, uid, self.calendar_id,
|
cr, uid, self.calendar_id,
|
||||||
self.date1.replace(hour=6, minute=0),
|
self.date1.replace(hour=6, minute=0),
|
||||||
self.date2.replace(hour=23, minute=0) + relativedelta(days=7),
|
self.date2.replace(hour=23, minute=0) + relativedelta(days=7),
|
||||||
resource_id=self.resource1_id, exclude_leaves=True)
|
resource_id=self.resource1_id, exclude_leaves=True, context=context)
|
||||||
self.assertEqual(res, 40.0, 'resource_calendar: wrong _interval_hours_get compatibility computation')
|
self.assertEqual(res, 40.0, 'resource_calendar: wrong _interval_hours_get compatibility computation')
|
||||||
|
|
||||||
# new API: resource without leaves
|
# new API: resource without leaves
|
||||||
|
@ -385,7 +388,7 @@ class TestResource(TestResourceCommon):
|
||||||
cr, uid, self.calendar_id,
|
cr, uid, self.calendar_id,
|
||||||
self.date1.replace(hour=6, minute=0),
|
self.date1.replace(hour=6, minute=0),
|
||||||
self.date2.replace(hour=23, minute=0) + relativedelta(days=7),
|
self.date2.replace(hour=23, minute=0) + relativedelta(days=7),
|
||||||
compute_leaves=False, resource_id=self.resource1_id)
|
compute_leaves=False, resource_id=self.resource1_id, context=context)
|
||||||
self.assertEqual(res, 40.0, 'resource_calendar: wrong get_working_hours computation')
|
self.assertEqual(res, 40.0, 'resource_calendar: wrong get_working_hours computation')
|
||||||
|
|
||||||
# old API: resource and leaves
|
# old API: resource and leaves
|
||||||
|
@ -394,7 +397,7 @@ class TestResource(TestResourceCommon):
|
||||||
cr, uid, self.calendar_id,
|
cr, uid, self.calendar_id,
|
||||||
self.date1.replace(hour=6, minute=0),
|
self.date1.replace(hour=6, minute=0),
|
||||||
self.date2.replace(hour=23, minute=0) + relativedelta(days=7),
|
self.date2.replace(hour=23, minute=0) + relativedelta(days=7),
|
||||||
resource_id=self.resource1_id, exclude_leaves=False)
|
resource_id=self.resource1_id, exclude_leaves=False, context=context)
|
||||||
self.assertEqual(res, 33.0, 'resource_calendar: wrong _interval_hours_get compatibility computation')
|
self.assertEqual(res, 33.0, 'resource_calendar: wrong _interval_hours_get compatibility computation')
|
||||||
|
|
||||||
# new API: resource and leaves
|
# new API: resource and leaves
|
||||||
|
@ -403,7 +406,7 @@ class TestResource(TestResourceCommon):
|
||||||
cr, uid, self.calendar_id,
|
cr, uid, self.calendar_id,
|
||||||
self.date1.replace(hour=6, minute=0),
|
self.date1.replace(hour=6, minute=0),
|
||||||
self.date2.replace(hour=23, minute=0) + relativedelta(days=7),
|
self.date2.replace(hour=23, minute=0) + relativedelta(days=7),
|
||||||
compute_leaves=True, resource_id=self.resource1_id)
|
compute_leaves=True, resource_id=self.resource1_id, context=context)
|
||||||
self.assertEqual(res, 33.0, 'resource_calendar: wrong get_working_hours computation')
|
self.assertEqual(res, 33.0, 'resource_calendar: wrong get_working_hours computation')
|
||||||
|
|
||||||
# --------------------------------------------------
|
# --------------------------------------------------
|
||||||
|
@ -416,7 +419,7 @@ class TestResource(TestResourceCommon):
|
||||||
self.date1.replace(hour=6, minute=0),
|
self.date1.replace(hour=6, minute=0),
|
||||||
self.date2.replace(hour=23, minute=0),
|
self.date2.replace(hour=23, minute=0),
|
||||||
compute_leaves=True, resource_id=self.resource1_id,
|
compute_leaves=True, resource_id=self.resource1_id,
|
||||||
default_interval=(8, 16))
|
default_interval=(8, 16), context=context)
|
||||||
self.assertEqual(res, 32.0, 'resource_calendar: wrong get_working_hours computation')
|
self.assertEqual(res, 32.0, 'resource_calendar: wrong get_working_hours computation')
|
||||||
|
|
||||||
def test_50_calendar_schedule_days(self):
|
def test_50_calendar_schedule_days(self):
|
||||||
|
|
Loading…
Reference in New Issue