作者:luohuayong
链接:https://www.jianshu.com/p/bc4e9db349a2
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
id
权限id,默认规则是access_模块名_类名
,还没发现有什么用
name
权限名,默认规则是模块名.类名
,还没发现有什么用
model_id:id
这个是固定写法,规则是model_模块名_类名
,其它地方引用权限会用这个id
group_id:id
组id,这里的base.group_user
是系统内置组,即员工.员工
组,创建帐户时,默认属于这个组。所以给这个组赋权限,相当于给新帐户的默认权限。
perm_read,perm_write,perm_create,perm_unlink
对应读、写、增加、删除权限,1是有权限,0是无权限,具体根据需要来设置权限
新增一行'application': True,
这样在应用中默认能搜索到请假单模块,因为应用列表默认使用应用
过滤器的。
增加了一个record 规则,几个关键属性
model_id
模块id,对应ir.model.access.csv
文件中定义的model_id
domain_forc
domain表达式,'create_uid'
是qiangjia_qingjiadan
表的字段,在insert数据时,odoo自动写入添加用户的id。user.id
是当前用户id。这个domain表达式的含义就是请假单数据的添加用户id等于当前用户id.
groups
组id,base.group_user
前面说过,是系统内置的员工组的外部id
再次升级请假模块,现在user1、user2都只能看到自己的请假单,管理员可以看到全部的请假单。odoo管理员默认拥有全部权限。
总结下odoo权限分级:
- 第一级是access rule,即表级权限,控制用户组对表的访问权限,一般是用
security/ir.model.access.csv
文件来管理 - 第二级是record rule,即行级权限,控制用户组对表中数据行的访问权限,可以写在
views/views.xml
文件中 - 其实还有第三级权限,是字段级权限