odoo開發筆記 -- 用戶配置界面增加模塊訪問權限


在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權限相關的配置文件,修改之后,需要重啟服務,並升級相應的模塊才能生效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM