将编辑权限分配给项目的项目经理 - OpenERP访问权限

时间:2014-10-13 13:58:55

标签: openerp openerp-7 odoo

我正在尝试使“项目”表单上的“编辑”按钮仅在登录系统的用户是该项目的项目经理时才可见。我一直在网上阅读有关这方面的各种答案,收集了对访问权限与记录规则的一些理解但我无法使其工作。根据我的理解,访问权限覆盖记录规则。因此,如果我在“项目/用户”组下创建一个记录规则,该记录规则对域具有读写访问权限,如下所示:

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

这将被项目/用户访问权限覆盖吗?那我怎么能让这个工作? 感谢任何可以提供帮助的人。

4 个答案:

答案 0 :(得分:1)

据我所知,记录规则可以覆盖访问权限。 以下是一个示例,其中记录规则用于根据任务base_user更改state编辑功能:https://github.com/OCA/project-service/tree/8.0/project_baseuser/security

但是,根据任务状态,“编辑”按钮不会动态显示:它始终可见,但规则可能允许也可能不允许在“保存”上写入。

答案 1 :(得分:1)

在记录规则之前检查访问控制列表。

因为访问控制列表是模型上的CRUD安全性(创建/读取/更新/删除)。

只有在传递ACL时,才会出现下一个记录级安全性。

据我了解,您希望授予项目用户编辑自己项目的权限(他在项目用户组中而不是项目经理,但由项目经理组用户LOL设置为项目管理员的确切项目。)

我通过以下方式做到了这一点:

1)为项目用户提供项目经理角色。

2)将它们限制为仅修改自己的项目,方法是在更新/删除操作中使用以下域创建全局规则(未设置组):

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

P,S,这是截图 - http://awesomescreenshot.com/0083nqyf76

答案 2 :(得分:0)

对于model.project模型,仅向组项目管理器提供写入权限。转到settings / techical / security。在那里你可以看到访问控制列表。 CHeck为项目管理员提供的所有组都提供给项目。项目模型。删除写入权限

答案 3 :(得分:0)

"记录规则有可能覆盖访问权限。 您可以在odoo模块中的CSV文件中添加访问控制列表,该模块描述了模型上组用户的 CRUD安全性(创建/读取/更新/删除)。

如果要修改特定型号上的组安全性,可以覆盖自定义模块中的访问权限 记录用于根据条件限制记录访问的规则

您可以创建额外的规则(ir.rule)和用于限制用户的domain_force

<field name=""domain_force"">[('user_id', '=', user.id)]</field>"