Система перенаправлена ​​на ту же страницу входа после входа в Odoo12

Я работаю над Odoo12. когда я вхожу в систему для odoo, он перенаправляет меня на ту же страницу входа и все варианты входа, доступные для меня. Итак, проблема связана с перенаправлением. Я протестировал код и получил этот запрос. Params ['login_success'] показывает значение false в печати. Мой код на Python ниже.

@http.route(website=True, auth="public")
def web_login(self, redirect=None, *args, **kw):
    response = super(CustomAuthSignupHome, self).web_login(redirect=redirect, *args, **kw)
    print('Loginnn', request.params['login_success'])
    if not redirect and request.params['login_success']:
        user = request.env['res.users'].browse(request.uid)
        if user.has_group('base.group_user'):
            if user.partner_id.company_type == 'company':
                redirect = '/dashboard'
            else:
                redirect = b'/web?' + request.httprequest.query_string
        return http.redirect_with_hash(redirect)
    return response

Так что любой может предложить решение этой проблемы.

Заранее спасибо.


person PAWAN SHARMA    schedule 10.10.2019    source источник
comment
Установлен ли в базе данных какой-либо настраиваемый модуль, связанный с аутентификацией?   -  person Younis Mahsud    schedule 10.10.2019
comment
привет, юнис, проблема решена. пропущено еще условие для перенаправления   -  person PAWAN SHARMA    schedule 10.10.2019


Ответы (2)


Проблема решена. пропущено еще условие для перенаправления

@http.route(website=True, auth="public")
    def web_login(self, redirect=None, *args, **kw):
        response = super(CustomAuthSignupHome, self).web_login(redirect=redirect, *args, **kw)
        if not redirect and request.params['login_success']:
            user = request.env['res.users'].browse(request.uid)
            if user.has_group('base.group_user'):
                if user.partner_id.company_type == 'company':
                    redirect = '/dashboard'
                else:
                    redirect = b'/web?' + request.httprequest.query_string
            else:
                redirect = '/my/account'
            return http.redirect_with_hash(redirect)
        return response
person PAWAN SHARMA    schedule 10.10.2019

вы можете создать модель, унаследованную от res.user, и изменить action_id с помощью compute.

class InheritResUsers(models.Model):
    _name = 'res.users'
    _inherit = ['res.users']

# Nouveaux champs

action_id = fields.Many2one('ir.actions.actions', string='Home Action', compute='get_home_page')

def get_home_page(self):

for project in self:
    # we position ourselves in the ir.actions.act_window model
    tasks = self.env['ir.actions.act_window']
    #we search for the specific view by using the name and une xml_id
    task_ids = tasks.search(
        [['xml_id', '=', '  project.open_view_project_all'], ['name', '=', 'Projects']])
    for task in task_ids:  # Browse the table by adding the page id to the inherited action_id field
        self.action_id=task.id
InheritResUsers()

Здесь я перенаправляю на домашнюю страницу своего модуля.

person Nazir Gbadamassi    schedule 15.07.2021