在OpenERP中创建用户的问题

时间:2014-12-09 11:43:07

标签: python odoo

我试图通过python编码在openerp中创建用户。每当新用户想要注册时,我需要在odoo上为我的网站创建一个用户。我怎样才能做到这一点? 我正在做以下事情:

def register_user(self, **post):
    cr, uid, context = request.cr, request.uid, request.context
    user_obj = request.registry.get('res.users')    
    user_info = {}
    user_info["name"] = post.get("name")
    user_info["email"] = post.get("email")
    user_info["password"] = post.get("password")

    user_created = user_obj.create(cr, uid, vals_user, context)

    return request.website.render("custom_module.custom_template")

但是,我在这里收到错误: '你无法从这里创建新用户。要创建新用户,请转到配置面板'

任何人都可以建议我可能出错的地方吗? 感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

错误是指server/addons/mail/res_users.py中的此代码:

def create(self, cr, uid, data, context=None):
    # create default alias same as the login
    if not data.get('login', False):
        raise osv.except_osv(_('Invalid Action!'), _('You may not create a user. To create new users, you should use the "Settings > Users" menu.'))

因此,这是因为您没有在参数login中设置datalogin是res.users的用户名字段

答案 1 :(得分:0)

self.env [' res.users&#39]。创建({             " name":' Name',             "电子邮件":'电子邮件',             "登录":'电子邮件'         })