2016-09-15 90 views
0

美好的一天!我想创建一个自动创建用户时用户只用一个门户访问Odoo 8在Python代码中填充Many2Many字段

这里创建一个雇员的信息,我的Python代码

@api.model 
def create(self, vals): 
    new_id = super(HrEmployeeExtend, self).write(vals) 
    #After Creation of Personnel create a User 
    new_loggin_name = new_id.last_name + '_' + str(new_id.employee_id) 
    if isinstance(new_id.middle_name, bool): 
     new_user_fullname = new_id.first_name + ' ' + new_id.last_name 
    else: 
     new_user_fullname = new_id.first_name + ' '+ new_id.middle_name + ' ' + new_id.last_name 

    model_userinfo = self.env['res.users'] 

    id_user = model_userinfo.create({ 
     'name': new_user_fullname, 
     'login': new_loggin_name, 
     'password':new_loggin_name, 
     'groups_id': 1, 
     })   
    new_id.user_id = id_user.id 
    return new_id 

我只是想添加到门户组中的新用户

回答

4

当您创建新用户时,将它们添加到门户组。根据运行此功能的用户的权限,您可能不需要sudo()

user = self.env['res.users'].sudo().create(vals) 
self.env.ref('base.group_portal').sudo().write({'users':[(4,user.id)]})