首页 > 解决方案 > project.project Odoo11 上的访问规则

问题描述

我有一个新小组(项目负责人)。这个小组需要阅读其他项目,并编写自己的项目。示例:user1 是 project001 的经理,user2 是 project002 的经理。我们需要user1:只编辑project001,他需要阅读project002。

我已经尝试了下面的代码,但它没有工作。

在 XML 中

<record id="group_project_lead" model="res.groups">
    <field name="name">Lead</field>
    <field name="category_id" ref="base.module_category_project_management"/>
</record>

<record id="project_project_lead_rule1" model="ir.rule">
    <field name="name">Project: Lead to view only others document</field>
    <field name="model_id" ref="project.model_project_project"/>
    <field name="groups" eval="[(4, ref('project_user_access.group_project_lead'))]"/>
    <field name="perm_read" eval="True"/>
    <field name="perm_write" eval="False"/>
    <field name="perm_create" eval="False"/>
    <field name="perm_unlink" eval="False"/>
    <field name="domain_force">[('user_id','!=',user.id)]</field>
</record>
<record id="project_project_lead_rule2" model="ir.rule">
    <field name="name">Project: Lead to write own document</field>
    <field name="model_id" ref="project.model_project_project"/>
    <field name="groups" eval="[(4, ref('project_user_access.group_project_lead'))]"/>
    <field name="perm_read" eval="True"/>
    <field name="perm_write" eval="True"/>
    <field name="perm_create" eval="False"/>
    <field name="perm_unlink" eval="False"/>
    <field name="domain_force">[('user_id','=',user.id)]</field>
</record>

在 CSV 中(尝试使用 CSV 也没有使用 CSV)

access_project_project_group_lead,project_project_group_lead,project.model_project_project,project_user_access.group_project_lead,1,1,1,1

标签: pythonxmlodooodoo-11

解决方案


您是否尝试过为每个记录规则使用两个不同的组并相应地分配用户

<record id="group_project_lead_others" model="res.groups">
    <field name="name">Lead can view others</field>
    <field name="category_id" ref="base.module_category_project_management"/>
</record>

  <record id="group_project_lead_own" model="res.groups">
        <field name="name">Lead can edit own</field>
        <field name="category_id" ref="base.module_category_project_management"/>
    </record>

<record id="project_project_lead_rule1" model="ir.rule">
    <field name="name">Project: Lead to view only others document</field>
    <field name="model_id" ref="project.model_project_project"/>
    <field name="groups" eval="[(4, ref('project_user_access.group_project_lead_others'))]"/>
    <field name="perm_read" eval="True"/>
    <field name="perm_write" eval="False"/>
    <field name="perm_create" eval="False"/>
    <field name="perm_unlink" eval="False"/>
    <field name="domain_force">[('user_id','!=',user.id)]</field>
</record>
<record id="project_project_lead_rule2" model="ir.rule">
    <field name="name">Project: Lead to write own document</field>
    <field name="model_id" ref="project.model_project_project"/>
    <field name="groups" eval="[(4, ref('project_user_access.group_project_lead_own'))]"/>
    <field name="perm_read" eval="True"/>
    <field name="perm_write" eval="True"/>
    <field name="perm_create" eval="False"/>
    <field name="perm_unlink" eval="False"/>
    <field name="domain_force">[('user_id','=',user.id)]</field>
</record>

推荐阅读