Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • How to Create a new res.users record for each email address in OpenERP?

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 400
    Comment on it

    A new res.users for email address is created for wizard_data. If users already exist then a new res.users will be ignored. New res.users also have a value for the password field, so that they can receive it by email and Returns the ids of the created users, and the ids of the ignored, existing ones.

    Use this function show below

    def create_users(self, cr, uid, wizard_data, group_id, context=None):
           
            user_obj = self.pool.get('res.users')
            current_user = user_obj.browse(cr, UID_ROOT, uid, context=context)
            # modify context to disable shortcuts when creating share users
            context['noshortcut'] = True
            created_ids = []
            existing_ids = []
            if wizard_data.user_type == 'emails':
                for new_user in (wizard_data.new_users or '').split('\n'):
                    # Ignore blank lines
                    new_user = new_user.strip()
                    if not new_user: continue
                    # Ignore the user if it already exists.
                    existing = user_obj.search(cr, UID_ROOT, [('login', '=', new_user)])
                    existing_ids.extend(existing)
                    if existing:
                        new_line = { 'user_id': existing[0],
                                     'newly_created': False}
                        wizard_data.write({'result_line_ids': [(0,0,new_line)]})
                        continue
                    new_pass = generate_random_pass()
                    user_id = user_obj.create(cr, UID_ROOT, {
                            'login': new_user,
                            'password': new_pass,
                            'name': new_user,
                            'user_email': new_user,
                            'groups_id': [(6,0,[group_id])],
                            'share': True,
                            'company_id': current_user.company_id.id
                    }, context)
                    new_line = { 'user_id': user_id,
                                 'password': new_pass,
                                 'newly_created': True}
                    wizard_data.write({'result_line_ids': [(0,0,new_line)]})
                    created_ids.append(user_id)
    

     

 0 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: