我正在使用odoo 10.我想限制项目用户只能查看或编辑他们自己的任务。项目经理可以为他们分配任务,并可以查看所有任务。这意味着项目经理应具有完全权限。
我在论坛上尝试了很多解决方案,但没有一个能按预期工作。任何帮助都非常感谢。
我创建了一条新的记录规则:
对象:project.task
域名过滤器:[('user_id','=',user.id)]
当我将其保存为全局时,其任务仅由其受让人查看,但此规则也适用于项目经理。项目经理现在也无法为他的团队查看或创建任务。但我需要项目经理拥有完整的权限。
如果我选择组作为项目/用户:在这种情况下,效果消失,所有用户都能看到所有任务。
此外,我还使用域过滤器[(1, '=', 1)]
为Project / Manager创建了一条记录规则。但仍然没有达到我要求的结果。
答案 0 :(得分:0)
首先,您需要仔细阅读有关Odoo Security的文档。基本上,Odoo提供了两种主要的数据驱动机制来管理或限制对数据的访问。
在您的情况下,您只需要复制其他类似案例的设置。例如"销售经理"和"用户:仅拥有自己的文件"出售。
访问控制。在您的案例project.tasks
<强>规则即可。仅为&#34;用户:仅自己的文档&#34;添加规则,在您的情况下&#34;项目/用户&#34;:
答案 1 :(得分:0)
请仔细阅读。 https://www.odoo.com/documentation/12.0/reference/security.html
全局规则是减法,必须将它们全部匹配才能访问记录
组规则是可加的,如果其中任何一个匹配(并且所有全局规则都匹配),则可以访问记录
结果表明,全局规则是减法,组规则是加法。如果您全局应用,则只有满足您的域user_id = user.id的用户才是可读/可写的。但是,如果您仅适用于组,则不会限制访问权限,因为它是可加性的,并且用户被授予其他位置的访问权限。
我在类似情况下所做的就是应用全局规则,以便 任务只能由其受让人看到。然后将组规则应用于经理,以便经理可以查看所有任务。
希望这对您有帮助