Odoo 10记录规则未按预期生效,如何配置任务权限?
解决Odoo 10中项目用户与项目经理的任务权限问题
我来帮你梳理下正确的配置步骤,你之前的问题主要出在记录规则的叠加逻辑和组继承的处理上:
1. 清理冲突的现有规则
首先删除你之前创建的全局记录规则,以及可能存在冲突的组级规则,避免规则叠加导致预期外的权限限制。
2. 为Project/User组配置记录规则
创建一条仅对Project/User组生效的记录规则:
- 对象:
project.task - 域过滤器:
[('user_id', '=', user.id)]- (可选优化:如果要让用户能看到自己创建的未分配任务,可以修改为
['|', ('user_id', '=', user.id), ('create_uid', '=', user.id)])
- (可选优化:如果要让用户能看到自己创建的未分配任务,可以修改为
- 权限:勾选读、写、创建(可根据实际需求调整,比如是否允许用户自主创建任务)
- 应用范围:仅分配给Project/User组,不要勾选全局生效
3. 为Project/Manager组配置记录规则
创建一条仅对Project/Manager组生效的记录规则:
- 对象:
project.task - 域过滤器:
[(1, '=', 1)](该域表示允许访问所有任务) - 权限:勾选读、写、创建、删除(确保项目经理拥有任务的全部操作权限)
- 应用范围:仅分配给Project/Manager组
4. 确认组的继承关系
Odoo默认的Project/Manager组是继承Project/User组的,这意味着项目经理会同时属于这两个组。根据Odoo的记录规则逻辑,用户能访问的记录需满足「所有全局规则」AND「至少一个所属组的规则」,因此项目经理的有效权限逻辑为:
(User组规则 OR Manager组规则)→ 即可以访问所有任务,完全符合你的需求
5. 测试验证
- 用普通Project/User账号登录:仅能看到自己负责(或自己创建)的任务,无法查看其他用户的任务
- 用Project/Manager账号登录:可查看所有任务,且能自由分配任务给团队成员、修改任意任务
常见问题排查
如果配置后仍不生效,检查以下几点:
- 确保测试账号仅属于对应组(比如普通用户不要加入Project/Manager组)
- 检查Project/User和Project/Manager组的基础权限(需确保两组都拥有
project.task的基础读权限,记录规则是在基础权限之上的限制) - 清除浏览器缓存或用隐私模式登录测试,避免Odoo权限缓存影响结果
内容的提问来源于stack exchange,提问作者user3606682
相关产品推荐
相关产品推荐

