2016-09-15 79 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)]})