From e06e35d2d37a03b157b73a332b4c5062198b4c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 14 Nov 2014 10:46:57 +0100 Subject: [PATCH] [FIX] hr_holidays: fix virtual remaining leaves computation. Now only validated allocation requests are taken into account when computing the number of virtual remaining leaves (leaves + pending leaves). This avoid creating allocation request to have virtual remaining leaves artificially added. --- addons/hr_holidays/hr_holidays.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py index 507667a930f..4c190a69800 100644 --- a/addons/hr_holidays/hr_holidays.py +++ b/addons/hr_holidays/hr_holidays.py @@ -49,8 +49,11 @@ class hr_holidays_status(osv.osv): for holiday in self.pool['hr.holidays'].browse(cr, uid, holiday_ids, context=context): status_dict = result[holiday.holiday_status_id.id] if holiday.type == 'add': - status_dict['virtual_remaining_leaves'] += holiday.number_of_days if holiday.state == 'validate': + # note: add only validated allocation even for the virtual + # count; otherwise pending then refused allocation allow + # the employee to create more leaves than possible + status_dict['virtual_remaining_leaves'] += holiday.number_of_days status_dict['max_leaves'] += holiday.number_of_days status_dict['remaining_leaves'] += holiday.number_of_days elif holiday.type == 'remove': # number of days is negative