【问题标题】:Assigning Edit rights to the Project Manager of a project - OpenERP Access Rights为项目的项目经理分配编辑权限 - OpenERP 访问权限
【发布时间】:2014-10-13 13:58:55
【问题描述】:

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

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

这会被项目/用户的访问权限覆盖吗?那么我该如何让它发挥作用呢? 感谢任何可以提供帮助的人。

【问题讨论】:

    标签: openerp openerp-7 odoo


    【解决方案1】:

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

    但是,“编辑”按钮不是动态可见的,具体取决于任务状态:它始终可见,但规则可能允许也可能不允许在“保存”时写入。

    【讨论】:

    • 嗨丹尼尔,即使我更正了所有字段,它在 odoo v11 中也不起作用。你有 v11 的这些设置的更新版本吗?谢谢。
    【解决方案2】:

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

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

    仅当 ACL 被通过时,下一个记录级别的安全性才会进入。

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

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

    1) 赋予项目用户项目经理角色。

    2) 通过在更新/删除操作中创建具有以下域的全局规则(未设置组)来限制他们仅修改自己的项目:

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

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

    【讨论】:

    • 该域只允许项目创建者和设置为项目经理的用户编辑/删除项目。
    【解决方案3】:

    对于模型project.project,仅向组项目经理提供写入权限。转到设置/技术/安全。在那里您可以看到访问控制列表。检查所有组提供给 project.project 模型的内容。对于除项目经理以外的每个组,删除写入权限

    【讨论】:

      猜你喜欢
      • 2016-05-11
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 2023-03-30
      • 2014-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多