Reputation: 31
when hr_employee creation, I want to hr_contrac create code is blow and please can you any one help me. Thank you.
def create(self, vals):
print vals,"AAAAAAAAAAAA"
unique_id = self.env['ir.sequence'].get('hr.employee')
print unique_id,"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBb"
vals['unique_id'] = unique_id
vals['unique_id_integer'] = int(unique_id)
name = "Contract"+":"+vals['unique_id']+":"+vals['name']
tools.image_resize_images(vals)
#return super(Employee, self).create(vals)
hr_employee_id = super(Employee, self).create(vals)
print hr_employee_id
if 'date_joined' in vals:
date_joined = vals['date_joined']
name += ":"+date_indian(vals['date_joined'])
if 'job_id' in vals:
job_id = vals['job_id']
name += ":"+self.env['hr.job'].browse(vals['job_id']).name
contract_data = {
'name': name,
'job_id': job_id,
'employee_id': hr_employee_id,
'type_id': 1,
'struct_id': 1,
'date_start': date_joined,
'wage': 0.0,
'schedule_pay':'monthly'
}
#self.env['hr.contract'].create(contract_data)
print contract_data,"AAAAAAAAAAAAAA"
if contract_data:
self.env["hr.contract"].create(contract_data)
return True
this code not working
self.env["hr.contract"].create(contract_data)
it raised error : can't adapt type 'hr.employee'
Upvotes: 2
Views: 1890
Reputation: 4174
Use hr_employee_id.id
instead of hr_employee_id
Try this:
contract_data = {
'name': name,
'job_id': job_id,
'employee_id': hr_employee_id.id,
'type_id': 1,
'struct_id': 1,
'date_start': date_joined,
'wage': 0.0,
'schedule_pay':'monthly'
}
Upvotes: 2