Murugan C
Murugan C

Reputation: 31

ProgrammingError: can't adapt type 'hr.employee' in odoo10

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

Answers (1)

KbiR
KbiR

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

Related Questions