我试图通过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")
但是,我在这里收到错误: '你无法从这里创建新用户。要创建新用户,请转到配置面板'
任何人都可以建议我可能出错的地方吗? 感谢您的帮助。
答案 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
中设置data
。 login
是res.users的用户名字段
答案 1 :(得分:0)
self.env [' res.users&#39]。创建({ " name":' Name', "电子邮件":'电子邮件', "登录":'电子邮件' })