Проблемы с созданием пользователя в OpenERP

Я пытаюсь создать пользователя в openerp с помощью кода Python. Мне нужно создать пользователя для моего веб-сайта на 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")

Однако здесь я получаю сообщение об ошибке: «Вы не можете создать нового пользователя отсюда. Чтобы создать нового пользователя, перейдите в панель конфигурации.

Может ли кто-нибудь предложить, где я могу ошибаться? Заранее благодарны за Вашу помощь.


person John    schedule 09.12.2014    source источник
comment
Я понял, где ошибся. Установка user_info['login'] = True решила цель. Однако я не уверен, что это правильный способ сделать это. Мне по-прежнему нужен кто-то, чтобы дать некоторое понимание этого.   -  person John    schedule 09.12.2014
comment
поместите сюда свою трассировку   -  person BomberMan    schedule 09.12.2014
comment
@BomberMan: я добавил описание похожей проблемы. Можете ли вы предложить некоторые шаги?   -  person Jay Chakra    schedule 06.11.2015


Ответы (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

person gabrieloliveira    schedule 25.07.2016

self.env['res.users'].create({ "name": 'Имя', "email": 'Электронная почта', "логин": 'Электронная почта' })

person Nauman Sharif    schedule 26.12.2017