通过组权限来实现权限管理,组是保存在res.groups里的一些记录。菜单的权限可以通过xml中菜单的定义设置组权限。菜单下关联的model也要设置对象级别的访问权限(read, write, create, unlink),并关联到特定组。还有一些model.py里的做权限检查或xml定义中设置field相关的组。
1 <?xml version="1.0" encoding="utf-8" ?> 2 <odoo> 3 <data> 4 <record model="res.groups" id="group_manager"> 5 <field name="name">管理</field> 6 </record> 7 8 <record id="only_responsible_can_modify" model="ir.rule"> 9 <field name="name">只有课程负责人可以编辑课程</field> 10 <field name="model_id" ref="model_odoogoedu_course"/> 11 <field name="groups" eval="[(4, ref(‘odoogoedu.group_manager‘))]"/> 12 <field name="perm_read" eval="0"/> 13 <field name="perm_write" eval="1"/> 14 <field name="perm_create" eval="0"/> 15 <field name="perm_unlink" eval="1"/> 16 <field name="domain_force"> 17 [‘|‘, (‘responsible_id‘,‘=‘,False), 18 (‘responsible_id‘,‘=‘,user.id)] 19 </field> 20 </record> 21 </data> 22 </odoo>
原文:https://www.cnblogs.com/itelephant/p/11408630.html