Ir.rule 不同群体的模型 odoo

Ir.rule model for diferent groups odoo

我想为不同的用户群制作不同的 ir.rule 模型 我制定了规则并且工作正常,但不知道如何分配组。

   <record model="ir.rule" id="pupils_rule">
        <field name="name">Tutor only view his pupils</field>
        <field name="model_id" ref="model_res_users"/>
        <field name="domain_force">[('tutor','=',user.id)]</field>
         <field name="perm_read" eval="True"/>
        <field name="perm_create" eval="False"/>
        <field name="perm_write" eval="False"/>
        <field name="perm_unlink" eval="False"/>
    </record>

我的 2 个安全组 group_tutor 和 group_pupil。 Mymodel.acess.csv如果你需要小组的东西。

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
tutor_activity,Model pupil 
access,model_proyectosge_activity,group_tutor,1,0,0,0
pupil_activity,Model pupil 
access,model_proyectosge_activity,group_pupil,1,1,1,1

你必须添加一行

<field name="groups" eval="[(4, ref('XML ID OF TUTORS'))]"/>

如下第四行

<record model="ir.rule" id="pupils_rule">
  <field name="name">Tutor only view his pupils</field>
  <field name="model_id" ref="model_res_users"/>
  <field name="groups" eval="[(4, ref('XML ID OF TUTORS'))]"/>
  <field name="domain_force">[('tutor','=',user.id)]</field>
  <field name="perm_read" eval="True"/>
  <field name="perm_create" eval="False"/>
  <field name="perm_write" eval="False"/>
  <field name="perm_unlink" eval="False"/>
</record>