odoo初学者代码总结–init/security(2)

odoo初学者代码总结–init/security

常记溪亭日暮,沉醉不知归路。 兴尽晚回舟,误入藕花深处。 争渡,争渡,惊起一滩odoo

提前声明:本人是odoo萌新,python也只有基础,欢迎大神指点,有所不足之处还请见谅
此为本萌新学习归纳所用,毕竟有输出才有动力,废话不多说,开始:

manifest.py 的上方,就是init.py文件了,他位于odoo/addons/hr_contract的根目录下,用来导入需要依赖和应用的文件夹

点开后,会看到如下代码:

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.

from . import models

这里代表引用了根目录下的models文件夹.

然后我们再看security/ir.model.access.csv文件:

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_resource_manager,hr.employee.resource.manager,resource.model_resource_resource,hr.group_hr_manager,1,1,1,1
access_hr_resource_calendar_user,hr.employee.resource.calendar.user,resource.model_resource_calendar,hr.group_hr_user,1,1,1,1
access_hr_resource_calendar_attendance_user,hr.employee.resource.calendar.attendance.user,resource.model_resource_calendar_attendance,hr.group_hr_user,1,1,1,1
access_hr_contract_manager,hr.contract.manager,model_hr_contract,hr_contract.group_hr_contract_manager,1,1,1,1

我们知道,security是安全文件夹,管理odoo模型的增删改查权限.
第一行是固定写法,以逗号分隔,相当于标题栏,他们分别代表:

  1. id:权限的ID
  2. name:权限的name
  3. model_id:id;模型的ID
  4. roup_id:id;群组的ID
  5. perm_read:查看权限
  6. perm_write:修改权限
  7. perm_create:增加数据权限
  8. perm_unlink:删除权限

至于他下面的代码,可以理解为所对应标题栏位下的数据.举个不太恰当的例子:第一行是他的key值,而下方则是他所对应的value.这样说当然是不正确的,只是一个比方,一个比喻,方便大家理解(令人着急的表达能力QAQ)

我们拿第二行的数据举例:

access_hr_resource_manager,hr.employee.resource.manager,resource.model_resource_resource,hr.group_hr_manager,1,1,1,1

其中第一个字段就代表权限的ID,第二个字段代表权限的name,而第三个则是模型的ID,对照上面提到过的标题栏,以此类推,我们便知道此行中的数据,究竟代表了什么.

怕本萌新表达不清,再此还是给把security的数据,转换为表格形式给大家显示吧(手机端需要左右拖拽表格哦,不然显示不全):

idnamemodel_id:idroup_id:idperm_readperm_writeperm_createperm_unlink
access_hr_resource_managerhr.employee.resource.managerresource.model_resource_resourcehr.group_hr_manager1111
access_hr_resource_calendar_userhr.employee.resource.calendar.userresource.model_resource_calendarhr.group_hr_user1111
access_hr_resource_calendar_attendance_userhr.employee.resource.calendar.attendance.userresource.model_resource_calendar_attendancehr.group_hr_user1111
access_hr_contract_managerhr.contract.managermodel_hr_contracthr_contract.group_hr_contract_manager1111

结合此段代码与后续代码,我们大概可以摸索出写法的规范:

  1. ID:access_hr_contract_manager(access_+模型名+角色名)
  2. name:hr.contract.manager(模型+角色名)
  3. model_id:id;model_hr_contract(model_+模型名)
  4. roup_id:id;hr_contract.group_hr_contract_manager(模型名+group+用户名)这里表示用了hr_contract模块下的group_hr_contract_manager用户群组
  5. 1,1,1,1(分别代表:查,改,增,删的权限,0表示false,没有此项权限,1代表true,表示有此项权限,此为:1,1,1,1,表示此用户组下的人员具有查,改,增,删的权限)

如果自己开发,在写完权限后,记得要在manifest.py里的data中进行引用,由于是配置权限,所以他的优先级高于其他文件.回顾上篇也不难发现,他身居data的second(第二名)

广告时间:security的解释和写法这是一位odoo大神(零妖大盗)写的,初学者可以看看,对自己搭建一个简单的模块很有帮助,此文对security的解释及写法有正规的描述,如果有时间,可以去观看参考.

好的,今天的阅读代码到此结束,明天继续阅读,相对来说,此章节并不难,萌新开发的话,也可以依葫芦画瓢.至于此文提到的模块,模型,对于萌新来说知道就好,并不要求掌握,在后续的odoo阅读与理解中,会展开说明(希望严重健忘的我能在后面想起前期挖的坑).

那,感谢大家阅读OuO,我们下篇见

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值