From a0fab6769490730bfd0ca9d66e727de79e31f6b3 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 23 Oct 2013 18:29:28 +0200 Subject: [PATCH] [FIX] hr_holidays: leave holiday overlap should ignore cancelled/refused ones Obviously a cancelled leave does not really overlap with a new one. bzr revid: odo@openerp.com-20131023162928-56vdsjxr8sa4n3jv --- addons/hr_holidays/hr_holidays.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py index 1af2fc00193..682508e0ca0 100644 --- a/addons/hr_holidays/hr_holidays.py +++ b/addons/hr_holidays/hr_holidays.py @@ -145,7 +145,9 @@ class hr_holidays(osv.osv): def _check_date(self, cr, uid, ids): for holiday in self.browse(cr, uid, ids): - holiday_ids = self.search(cr, uid, [('date_from', '<=', holiday.date_to), ('date_to', '>=', holiday.date_from), ('employee_id', '=', holiday.employee_id.id), ('id', '<>', holiday.id)]) + holiday_ids = self.search(cr, uid, [('date_from', '<=', holiday.date_to), ('date_to', '>=', holiday.date_from), + ('employee_id', '=', holiday.employee_id.id), ('id', '<>', holiday.id), + ('state', 'not in', ['cancel', 'refuse'])]) if holiday_ids: return False return True