在Odoo12中登录后,系统重定向到同一登录页面

时间:2019-10-10 07:13:14

标签: authentication redirect odoo odoo-12

我正在研究Odoo12。当我登录odoo时,它将在同一登录页面上重定向我,并且所有登录选项均对我可用。因此,问题与重定向有关。我已经测试了代码,并获得了request.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

因此,任何人都可以为该问题提出解决方案。

谢谢。

2 个答案:

答案 0 :(得分:0)

问题解决了。错过了其他重定向条件

@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

答案 1 :(得分:0)

您可以创建一个继承自 res.user 的模型并使用计算修改 action_id。

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()

在这里我重定向到我的模块的主页。