Openerp 仅当用户已分配任务时,任务才会显示

Openerp 仅当用户已分配任务时,任务才会显示,openerp,Openerp,我只想让我分配任务的人在项目模块中看到任务。我不希望项目的其他用户看到此任务 但是,当前任何具有用户访问权限的用户都可以查看所有任务,即使未分配任务 是否有解决方法?OpenERP/Odoo有两种可以分配给用户组的安全限制: 是CRUD是/否标志(类似于Unix FS权限),并允许每个型号的访问控制。它们说明此组的成员是否可以对特定文档模型(例如项目任务)的任何文档执行创建、读取、更新和删除操作。默认策略为DENY,因此默认情况下,如果用户没有明确的权限通过其组的访问权限执行操作,则任何操作都

我只想让我分配任务的人在项目模块中看到任务。我不希望项目的其他用户看到此任务

但是,当前任何具有用户访问权限的用户都可以查看所有任务,即使未分配任务


是否有解决方法?

OpenERP/Odoo有两种可以分配给用户组的安全限制:

  • 是CRUD是/否标志(类似于Unix FS权限),并允许每个型号的访问控制。它们说明此组的成员是否可以对特定文档模型(例如项目任务)的任何文档执行创建、读取、更新和删除操作。默认策略为DENY,因此默认情况下,如果用户没有明确的权限通过其组的访问权限执行操作,则任何操作都将被拒绝
  • 是否在CRUD操作上应用过滤器,并在授予访问权限后允许对每个文档进行访问控制。如果给定文档至少符合一条记录规则,则用户只能对该文档执行操作。默认策略为“允许”,因此,如果给定模型不存在规则,则具有必要访问权限的用户可以访问该模型的所有文档
访问权限和记录规则也可以全局定义,而无需将它们分配给特定的组,在这种情况下,它们适用于所有人。记录规则有一个陷阱:全局规则可能不会被其他规则(故意)放松,所以要小心使用

在您的情况下,似乎应该在项目用户组上定义一个额外的记录规则,该规则显式地将对项目任务的访问限制为您自己的任务(可能是尚未分配的任务)。您需要在“安全规则”菜单中使用以下参数创建新条目:

  • 对象/模型:
    project.task
  • 名称:
    仅查看自己的任务
  • 域:
    ['|',('user_id','=',False),('user_id','=',user.id)]
    • (指:您自己的任务和未分配的任务)
  • 申请阅读:
    [x]
  • 申请写作:
    [x]
  • 申请创建:
    [x]
  • 申请删除:
    [x]
  • 组:
    项目/用户
记录规则的
是一个标准的OpenERP/Odoo域,它在您试图执行操作的记录上进行评估,并且可以引用包含当前用户数据的
用户
变量(从技术上讲,是当前用户的
浏览记录
)。具有
域的描述

如果要允许特殊用户(如项目经理)查看系统中的所有任务,可以通过向项目经理组添加另一条允许访问所有任务的规则来放宽此规则。有一个特殊的“域过滤器”,意思是“允许所有”,它有助于放松另一个更严格的规则:
[(1',=”,1)]

注1:查看现有记录规则,了解它们首先在做什么,并确保在添加记录规则时阅读记录规则表单上的说明。需要记住的一件重要事情是,特定于组的规则与
运算符相结合。因此,如果您添加我上面描述的规则,您可能看不到任何限制效果,因为其他特定于组的规则仍在提供访问权限。您可能需要禁用它们、编辑它们或更改它们应用到的用户组,以获得您想要的确切效果


注意2:请记住,如果您在访问权限和记录规则方面出错,您始终可以修复
管理员
帐户的混乱,因为这些安全限制不适用于
管理员
(类似于Unix上的
root
用户).

注意:在OpenERP 7中,您必须修改或禁用名为

项目/任务:员工:公共、门户、员工或追随者或 指派


使您的规则正常工作。

正如OpenERP7中@user1534055所指出的,它有点不同

查找名为
项目/任务:员工:公共、门户、员工或后续或分配的规则

编辑并删除
('project\u id.privacy\u visibility'、'in'、['public'、'portal'、'employees']),
“&”,
从规则定义中选择,然后单击保存


在此之后,任务将仅对已分配的人可见。

创建新的安全规则,选择对象为“项目.任务”,将域筛选器设置为“[(“用户id”,“=”,用户id)]。无需添加任何组,因此它将是全局的。就这样

我的问题有点复杂。我希望有一些用户可以只查看他们分配的任务,还有一些用户可以查看其余的任务

在Odoo 11中,我发现标准项目用户继承了
Employees\Employees
,这反过来又有规则
project/Task:Employees:follow required for follower only projects
,它允许用户查看其他任务

我所做的:

  • 创建新组->重复
    项目/用户

  • odny的答案->
    ['|',('user_id','=',False),('user_id','=',user.id)]中实现了规则。

  • employees/employees
    中删除记录规则
    Project/Task:employees:follow required for follower only projects
    ,并将其添加到
    Project/Users


  • 现在我可以决定谁是项目用户,谁可以查看项目的所有任务,谁是工人,谁只能查看分配给他们的任务

    回答得好,奥利弗,我不知道记录规则。我很高兴看到你在这里成为一名定期投稿人。谢谢你的详细回答。这