python - 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
解决方案
您是否尝试过为每个记录规则使用两个不同的组并相应地分配用户
<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>