diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py index 131d38d7001..2ed44bc75c7 100644 --- a/addons/hr_holidays/hr_holidays.py +++ b/addons/hr_holidays/hr_holidays.py @@ -214,6 +214,7 @@ class hr_holidays(osv.osv): self.write(cr, uid, ids, { 'state': 'draft', 'manager_id': False, + 'manager_id2': False, }) wf_service = netsvc.LocalService("workflow") for id in ids: @@ -232,9 +233,11 @@ class hr_holidays(osv.osv): obj_emp = self.pool.get('hr.employee') ids2 = obj_emp.search(cr, uid, [('user_id', '=', uid)]) manager = ids2 and ids2[0] or False - self.write(cr, uid, ids, {'state':'validate', 'manager_id2': manager}) + self.write(cr, uid, ids, {'state':'validate'}) data_holiday = self.browse(cr, uid, ids) for record in data_holiday: + if record.holiday_status_id.double_validation: + self.write(cr, uid, ids, {'manager_id2': manager}) if record.holiday_type == 'employee' and record.type == 'remove': meeting_obj = self.pool.get('crm.meeting') vals = { @@ -281,7 +284,7 @@ class hr_holidays(osv.osv): obj_emp = self.pool.get('hr.employee') ids2 = obj_emp.search(cr, uid, [('user_id', '=', uid)]) manager = ids2 and ids2[0] or False - self.write(cr, uid, ids, {'state': 'refuse', 'manager_id2': manager}) + self.write(cr, uid, ids, {'state': 'refuse', 'manager_id': manager}) self.holidays_cancel(cr, uid, ids) return True diff --git a/addons/hr_holidays/hr_holidays_workflow.xml b/addons/hr_holidays/hr_holidays_workflow.xml index 888b3dd629d..8443ddb68d9 100644 --- a/addons/hr_holidays/hr_holidays_workflow.xml +++ b/addons/hr_holidays/hr_holidays_workflow.xml @@ -83,7 +83,6 @@ - second_validate