Openerp 允许每个经理只查看他创建的项目

Openerp 允许每个经理只查看他创建的项目,openerp,Openerp,可能重复: 我知道我必须使用访问规则,但我对如何使用globals感到困惑。我希望项目中的每个经理只访问他们的项目、阶段和任务 干杯, VishalOpenERP有两种可分配给用户组的安全限制: 一旦已经授予访问权限,是否在创建、读取、写入、取消链接操作和允许每个文档访问控制上应用过滤器。如果给定文档至少符合一条记录规则,则用户只能对该文档执行操作。默认策略为“允许”,因此,如果给定模型不存在规则,则具有必要访问权限的用户可以访问该模型的所有文档 是创建、读取、写入、取消链接、是/否标志(类

可能重复:

我知道我必须使用访问规则,但我对如何使用globals感到困惑。我希望项目中的每个经理只访问他们的项目、阶段和任务

干杯,
Vishal

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

  • 一旦已经授予访问权限,是否在创建、读取、写入、取消链接操作和允许每个文档访问控制上应用过滤器。如果给定文档至少符合一条记录规则,则用户只能对该文档执行操作。默认策略为“允许”,因此,如果给定模型不存在规则,则具有必要访问权限的用户可以访问该模型的所有文档

  • 是创建、读取、写入、取消链接、是/否标志(类似于Unix FS权限),以及允许每个模型的访问控制。它们说明此组的成员是否可以对特定文档模型(例如项目任务)的任何文档执行创建、读取、更新和删除操作。默认策略为DENY,因此默认情况下,如果用户没有明确的权限通过其组的访问权限执行操作,则任何操作都将被拒绝

访问权限和记录规则也可以全局定义,而无需将它们分配给特定的组,在这种情况下,它们适用于所有人。记录规则有一个陷阱:全局规则可能不会被其他规则(故意)放松,所以要小心使用

在您的情况下,似乎应该在项目用户组上定义一个额外的记录规则,该规则明确地将对项目、项目任务和阶段的访问限制为您自己的任务。您需要在“安全规则”菜单中使用以下参数创建新条目:

object/model: project.task
name: See own tasks only
domain: ['|',('user_id','=',False),('user_id','=',user.id)]
(means: your own tasks and unassigned ones)
apply for read: [x]
apply for write: [x]
apply for create: [x]
apply for delete: [x]
groups: Project / User

object/model: project.project
name: See own project only
domain: ['|',('user_id','=',False),('user_id','=',user.id)]
(means: your own project and unassigned ones)
apply for read: [x]
apply for write: [x]
apply for create: [x]
apply for delete: [x]
groups: Project / User


object/model: project.phase
name: See own phase only
domain: ['|',('user_id','=',False),('user_id','=',user.id)]
(means: your own phase and unassigned ones)
apply for read: [x]
apply for write: [x]
apply for create: [x]
apply for delete: [x]
groups: Project / User
记录规则的域是一个标准的OpenERP域,它在您尝试执行操作的记录上进行评估,并且可以引用包含当前用户数据的用户变量(从技术上讲,是当前用户的浏览记录)。在中查找search()


注意:先看一下现有的记录规则,看看它们在做什么,并确保在添加记录规则时阅读记录规则表单上的说明。请记住,如果您在访问权限和记录规则方面出错,您始终可以解决管理员帐户的问题,因为这些安全限制不适用于管理员(类似于Unix上的根用户)。

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

  • 一旦已经授予访问权限,是否在创建、读取、写入、取消链接操作和允许每个文档访问控制上应用过滤器。如果给定文档至少符合一条记录规则,则用户只能对该文档执行操作。默认策略为“允许”,因此,如果给定模型不存在规则,则具有必要访问权限的用户可以访问该模型的所有文档

  • 是创建、读取、写入、取消链接、是/否标志(类似于Unix FS权限),以及允许每个模型的访问控制。它们说明此组的成员是否可以对特定文档模型(例如项目任务)的任何文档执行创建、读取、更新和删除操作。默认策略为DENY,因此默认情况下,如果用户没有明确的权限通过其组的访问权限执行操作,则任何操作都将被拒绝

访问权限和记录规则也可以全局定义,而无需将它们分配给特定的组,在这种情况下,它们适用于所有人。记录规则有一个陷阱:全局规则可能不会被其他规则(故意)放松,所以要小心使用

在您的情况下,似乎应该在项目用户组上定义一个额外的记录规则,该规则明确地将对项目、项目任务和阶段的访问限制为您自己的任务。您需要在“安全规则”菜单中使用以下参数创建新条目:

object/model: project.task
name: See own tasks only
domain: ['|',('user_id','=',False),('user_id','=',user.id)]
(means: your own tasks and unassigned ones)
apply for read: [x]
apply for write: [x]
apply for create: [x]
apply for delete: [x]
groups: Project / User

object/model: project.project
name: See own project only
domain: ['|',('user_id','=',False),('user_id','=',user.id)]
(means: your own project and unassigned ones)
apply for read: [x]
apply for write: [x]
apply for create: [x]
apply for delete: [x]
groups: Project / User


object/model: project.phase
name: See own phase only
domain: ['|',('user_id','=',False),('user_id','=',user.id)]
(means: your own phase and unassigned ones)
apply for read: [x]
apply for write: [x]
apply for create: [x]
apply for delete: [x]
groups: Project / User
记录规则的域是一个标准的OpenERP域,它在您尝试执行操作的记录上进行评估,并且可以引用包含当前用户数据的用户变量(从技术上讲,是当前用户的浏览记录)。在中查找search()


注意:先看一下现有的记录规则,看看它们在做什么,并确保在添加记录规则时阅读记录规则表单上的说明。请记住,如果您在访问权限和记录规则方面出错,您始终可以解决管理员帐户的问题,因为这些安全限制不适用于管理员(类似于Unix上的root用户)。

项目模块包含一条记录规则,该规则正好适用于任务。” 根据用户和项目的任务:

['|',('user_id','=',False),('user_id','=',user.id)]


您只需在对象
项目
上创建一个相同的记录规则(菜单设置»安全»记录规则)。项目模块包括一个记录规则,该规则与任务的记录规则完全相同
根据用户和项目的任务:

['|',('user_id','=',False),('user_id','=',user.id)]


您只需要在对象
项目
上创建一个相同的记录规则(菜单设置»安全»记录规则)

在剪切和粘贴答案时,最好提及@jam.hi我收到此错误raise VALUERROR(“域表达式%r”%中的无效字段%r)(左,exp))ValueError:域表达式['|',('user_id','=',False),('user_id','=',10)]中的字段'user_id'无效。是@DonKirkby,我做了相同的操作,我还将其标记为相同的副本。我复制了它,因为它是能给出的最好的描述。@vishal:如果你的taleb上缺少user\u id字段,那么你将面临这个问题error@jam请给我建议,那该怎么办