Ir.rule模型为不同的组odoo

时间:2018-02-21 13:17:17

标签: security odoo odoo-10 rule

我想为不同的用户群制作不同的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

1 个答案:

答案 0 :(得分: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>