This question has been flagged
6 Replies
13845 Views

How to Create openerp user through Python code ?

what are the required infor' ? [i tried below but its gives a error ]

res_users_obj = self.pool.get('res.users')
user_id = super(res_users, res_users_obj).create(cr, uid, {'login':'given_name' ,'password':'given_name'}, context=context)

my requirement is that , I need to create user when i'm create a employee

please help me to sort out this issue

Avatar
Discard
Best Answer

Hello,

here you need to override the create method of hr.employee.

def create(self, cr, uid, vals, context=None):
    user_obj = self.pool.get('res.users')
    vals_user = {
        'name': vals.get('name'),
        'login': default_login,
        #other required field 
    }
    user_obj.create(cr, uid, vals_user, context)
    result = super(hr_employee, self).create(cr, uid, vals, context=context)
    return result

Hope this will help you.

Thank you,

Serpent Consulting Services

Avatar
Discard
Author

can we add dictionary list for vals in below code line 'create(self, cr, user, vals, context=None):' for insert multiple records.?

Why you need to add list of dictionary. As per your requirement it will be create a user at time of record creation.

Author

thanks dear friend now issue sorted :-)

@priyankahdp, What is that default_login?

Best Answer

You have override the create definition of employee.

@api.model

def create(self, vals):

    user_vals = {

        'name': vals.get('name'),

        'login': 'login@gmail.com',

        'password': 'password',

    }

    user_id = self.env['res.users'].create(user_vals)

    return super(HrEmployee, self).create(vals)

Avatar
Discard