diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py
index dc75c0cf75a..7414cc2c207 100644
--- a/addons/hr_payroll/hr_payroll.py
+++ b/addons/hr_payroll/hr_payroll.py
@@ -1349,8 +1349,7 @@ class hr_payslip(osv.osv):
context.update({'contract': True})
if not contract_id:
res['value'].update({'struct_id': False})
- res = self.onchange_employee_id(cr, uid, ids, ddate=date, employee_id=employee_id, contract_id=contract_id, context=context)
- return res
+ return self.onchange_employee_id(cr, uid, ids, ddate=date, employee_id=employee_id, contract_id=contract_id, context=context)
hr_payslip()
@@ -1362,13 +1361,15 @@ class hr_holidays(osv.osv):
'contract_id': fields.many2one('hr.contract', 'Contract', readonly=True, states={'draft':[('readonly',False)]})
}
- def onchange_employee_id(self, cr, uid, ids, employee_id=False, context=None):
+ def onchange_employee_id(self, cr, uid, ids, employee_id=False, date_from=False, context=None):
if not employee_id:
return {}
contract_obj = self.pool.get('hr.contract')
res = {}
- contracts = contract_obj.search(cr, uid, [('employee_id', '=', employee_id)], context=context)
- contract_ids = contract_obj.browse(cr, uid, contracts, context=context)
+ employee_id = self.pool.get('hr.employee').browse(cr, uid, employee_id, context)
+
+ # fix me: Date_from is not comming in onchange..
+ contract_ids = self.pool.get('hr.payslip').get_contract(cr, uid, employee_id, date_from, context=context)
res.update({
'contract_id': contract_ids and contract_ids[0].id or False,
})
diff --git a/addons/hr_payroll/hr_payroll_view.xml b/addons/hr_payroll/hr_payroll_view.xml
index 05396444cb6..66f4c8e3f8b 100644
--- a/addons/hr_payroll/hr_payroll_view.xml
+++ b/addons/hr_payroll/hr_payroll_view.xml
@@ -65,7 +65,7 @@
-
+
@@ -300,7 +300,7 @@
-
+
@@ -318,7 +318,7 @@
-
+