You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo员工模块记录规则调整:HR权限适配需求

Odoo员工仪表盘权限规则修正方案

问题分析

你之前的规则逻辑错误导致权限不符合预期:

  • 原规则['|',('id', 'child_of', [employee.id for employee in user.employee_ids ]),('department_id', '!=', 3)]的逻辑是只要员工是当前用户的下属,或者员工部门不是3,就允许查看。这会导致:
    1. 非HR部门(ID≠3)的普通员工,因为满足department_id !=3,能查看所有员工,违反了“仅经理/主管可查看层级下属”的要求;
    2. HR部门(ID=3)的用户,因为不满足department_id !=3,只能查看自己的下属,无法查看所有员工。

正确权限规则代码

替换为以下domain规则,实现HR部门用户可查看所有员工,非HR部门用户仅能查看自身下属层级的需求:

['|',
    ('id', 'child_of', [employee.id for employee in user.employee_ids]),
    user.employee_ids.department_id.id == 3
]

规则逻辑说明

  • 第一个条件:('id', 'child_of', ...),保留原规则逻辑,非HR部门用户仅能查看自身下属层级;
  • 第二个条件:user.employee_ids.department_id.id ==3,判断当前用户所属部门为HR部门(ID=3),满足此条件的用户可查看所有员工;
  • 整个规则用|(逻辑或)连接,只要满足其中一个条件即可查看对应员工。

补充说明

如果你的HR部门是通过用户组而非部门ID区分,可将第二个条件替换为用户组判断,例如:

['|',
    ('id', 'child_of', [employee.id for employee in user.employee_ids]),
    ('user_has_group', 'hr.group_hr_manager')
]

内容的提问来源于stack exchange,提问作者waqas chughtai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:55:14