在odoo設置界面,點擊用戶,進入用戶配置界面,會看到:
訪問權 | 個人資料菜單
在訪問權 page菜單界面,可以看到系統預制的一些模塊都會顯示在這里,
那么,我們自己開發的模塊如何顯示在這塊呢,從而方便在創建用戶的時候,給該用戶訪問我們自己開發模塊的權限!
實現方式:
在odoo后台代碼中增加兩個文件,並在__manifest__.py中申明引用這兩個文件。
具體編寫:
新建兩個文件夾:
(1) 在自己模塊根目錄下,創建data 和 security 兩個目錄,一般這兩個目錄也是平時odoo模塊開發時的標准目錄結構。
(2) 在security目錄下,創建名為:xxx_security.xml的文件,xxx為你的模塊名,切記不要含中文。
文件內容編寫格式:[ 注意:把所有的xxx換成自己的模塊名!] ref="module_category_xxx" 這句中引用的id就是在下個文件夾data中要寫的id
<?xml version="1.0" encoding="utf-8"?> <odoo> <record id="group_xxx_user" model="res.groups"> <field name="name">xxx user</field> <field name="category_id" ref="module_category_xxx"/> <field name="users" eval="[(4, ref('base.user_root'))]"/> </record> </odoo>
(3)在第二個目錄data下,創建名為:ir_module_category.xml的文件,文件內容:id="module_category_xxx" 和上邊提到的ref引用id對應。
<?xml version="1.0" encoding="utf-8"?> <odoo> <record model="ir.module.category" id="module_category_xxx"> <field name="name">這塊寫你的模塊名,可以寫中文,用於界面顯示</field> <field name="description">Manage xxx applications</field> <field name="sequence">35</field> </record> </odoo>
另外需要說明一下,上方文件中的<field name="sequence">35</field> sequence對應的數值,來控制菜單界面的顯示順序,可以根據自己本地的實際環境進行設置相應的值,不要跟odoo設置菜單默認的sequence值一樣就行。
(4) 在__manifest__.py中申明引用這兩個文件。
(5) 重啟服務,升級你的模塊,ok 驗證一下,在設置 - 用戶 - 訪問權 下,是不是出現了你自己開發的模塊。
ps: odoo權限相關的配置文件,修改之后,需要重啟服務,並升級相應的模塊才能生效。