Odoo访问权限(一)

26次阅读

共计 1791 个字符,预计需要花费 5 分钟才能阅读完成。

Odoo 访问权限一
四个 ODOO 权限管理层次

一. Odoo 菜单级别:即,不属于指定菜单所包含组的用户看不到该菜单。不安全,只是隐藏菜单,若用户知道菜单 ID,仍然可以通过指定 URL 访问
二. Odoo 对象级别:即,对某个对象是否有‘创建,读取,修改,删除“的权限。OE 中的对象可以简单理解为表对象,比如“客户”,“产品”,“销售订单”等都是对象
三. Odoo 记录级别:即,对对象表中的数据的访问权限。比如同样访问“客户”对象,业务员只能对自己创建的客户有访问的权限,而经理可以访问其所辖的业务员的所有“客户”对象,这里的访问也可以进一步明细到“创建,读取,修改,删除”的权限
四. 字段级别:即,一个对象或表上的某些字段的访问权限。比如产品的成本字段只有经理有读权限,比如订单上的单价字段只有经理才有修改的权限等。

本章节介绍一二层次的权限
在 security 文件夹下新建两个文件夹

model_security.xml
ir.model.access.csv

用户组实例
<?xml version=”1.0″ encoding=”utf-8″?>
<odoo>
<data noupdate=”0″>
<record model=”ir.module.category” id=”module_category_activity”>
<field name=”name”> 活动管理 </field>
</record>
<record model=”res.groups” id=”group_activity_user”>
<field name=”name”> 用户 </field>
<field name=”category_id” ref=”module_category_activity”/>
</record>
<record model=”res.groups” id=”group_activity_manager”>
<field name=”name”> 管理 </field>
<field name=”implied_ids” eval=”[(4, ref(‘group_activity_user’))]”/>
<field name=”category_id” ref=”module_category_activity”/>
</record>
</data>
</odoo>

权限分配实例
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink

access_activity_event_user, 读权限,model_activity_event,group_activity_user,1,0,0,0
access_activity_event_system_user, 管理权限,model_activity_event,group_activity_manager,1,1,1,1

access_activity_type_user, 分类读权限,model_activity_type,group_activity_user,1,0,0,0
access_activity_type_system_user, 分类管理权限,model_activity_type,group_activity_manager,1,1,1,1

id: 可以自定义,不能重复
name:自定义就可以
model_id:id:model_模型名称。注意,这里要把“.”全部换成“_”, 否则会报错。
perm_read:读权限。有权限写‘1’,没权限写‘0’
perm_write:编辑权限。有权限写‘1’,没权限写‘0’
perm_create:创建权限。有权限写‘1’,没权限写‘0’
perm_unlink:删除权限。有权限写‘1’,没权限写‘0’

重点注意

要在__manifest__.py 文件中引入以上新建的两个文件
always loaded
‘data’: [
‘security/activity_security.xml’,
‘security/ir.model.access.csv’,
‘views/views.xml’,
‘views/templates.xml’,
‘views/menus.xml’,
‘data/activity_data.xml’,
],

最后安装或升级项目模块就可以试试效果了

正文完
 0