Odoo-默认情况下为用户启用开发人员模式

时间:2017-06-30 13:37:50

标签: openerp odoo-10

我正在使用Odoo 10-e。我希望在用户登录时默认为用户启用开发人员模式,而该用户是管理员以外的用户。在odoo 10中这可能吗?

1 个答案:

答案 0 :(得分:5)

您只需覆盖模块中的 Web登录控制器即可。

例如:

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import http, _
import odoo
from odoo.http import route
from odoo.http import request 
from odoo.addons.web.controllers.main import Home, ensure_db

class DebugMode(Home):

    @http.route('/web/login', type='http', auth="none")
    def web_login(self, redirect=None, **kw):
        ensure_db()
        request.params['login_success'] = False
        if request.httprequest.method == 'GET' and redirect and request.session.uid:
            return http.redirect_with_hash(redirect)

        if not request.uid:
            request.uid = odoo.SUPERUSER_ID

        values = request.params.copy()
        try:
            values['databases'] = http.db_list()
        except odoo.exceptions.AccessDenied:
            values['databases'] = None
        if request.httprequest.method == 'POST':
            old_uid = request.uid
            uid = request.session.authenticate(request.session.db, request.params['login'], request.params['password'])
            if uid is not False:
                request.params['login_success'] = True
                if not redirect:
                    redirect = '/web?debug=1'
                return http.redirect_with_hash(redirect)
            request.uid = old_uid
            values['error'] = _("Wrong login/password")
        return request.render('web.login', values)

在上述方法中,我们只需在 / web?debug = 1 中重定向网址。

您可以为特定用户执行此操作,例如创建组自动调试模式

此用户中唯一一组可以使用调试模式自动登录。

前:

<record model="res.groups" id="group_auto_debug_mode">
    <field name="name">Auto Debug Mode</field>
    <field name="users" eval="[(4, ref('base.user_root'))]"/>                                   
</record>
if request.env['res.users'].browse(request.uid).has_group('module_name.group_auto_debug_mode'):
    redirect = '/web?debug=1'
else:
    redirect = '/web'

您可以从以下链接找到Odoo社区模块。

https://apps.odoo.com/apps/modules/10.0/admin_auto_debug_mode/

这可能会对你有帮助。