Odoo訪問許可權(一)
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',
],
- 最後安裝或升級專案模組就可以試試效果了