【本内容在9.0企业版测试通过】
在Odoo 的CRM使用过程中,我们有时候希望多个销售团队相互之间互不可见,系统默认只给分了查看自己的权限和查看所有的权限两个选项。
我们要处理的有两个对象,一个是crm.team,另一个是res.users. 下面我们以crm.team为例来说一下如何对crm.team对象进行限制访问。
我们创建2个Team 分别命名为 A Team和B Team,A Team的TL是A1,B Team的TL是B1,成员B2。
创将一个记录规则,对象为crm.team,规则定义如下:
[('member_ids','in',[user.id])]
member_ids是crm.team的一个字段,该规则的意思是如果当前用户隶属于该Team,那么可以读写增删,将该记录规则设置给 查看自己的线索 组。
效果如下:
不论是B1 还是 B2 都只能看到B Team。
第二步就是对res.users设置类似的记录规则,将其限制为只能读取本团队的成员,效果如下:
这样,我们在没二开的前提下就实现了一开始的提出的目的。