普通使用者在使用功能前需獲得相應的許可權。 odoo 中使用安全組來實現,許可權授予組,組中分配使用者。 odoo 應用通常有兩個組:針對普通使用者的使用者組,包含額外應用配置許可權的管理員組。
下面我們就來新增這兩個安全組。許可權安全相關的檔案通常放在模組下/security 子目錄中,這裡我們建立 security/library_security.xml 檔案來進行許可權定義。安全組使用分類來更好地組織關聯應用。所以第一步我們在 ir.module.category 模型中建立針對圖書應用的分類:
<?xml version="1.0" ?>
libraryfield>
record>
odoo>
userfield>
record>
記錄在 res.groups 模型中建立,新增了三個字段:
⚫ name:組名
⚫ category_id:關聯應用,這是乙個關聯字段,因此使用了 ref 屬性來通過 xml id 連線已
建立的分類
⚫ implied_ids:這是乙個 one-to-many 關聯字段,包含一系列組來對組內使用者生效。這裡使用了乙個特殊語法,在本系列文章第五篇 odoo 12 開發之匯入、匯出以及模組資料中會進行介紹。我們使用了編號 4 來連線基本內部使用者組 base.group_user。
然後我們建立管理員組,授予使用者組的所有許可權以及為應用管理員保留的其它許可權:
managerfield>
(4, ref('base.user_root')),
(4, ref('base.user_admin'))
]" />
record>
像使用者組一樣,這裡也有 name, category_id 和 implied_ids , implied_ids 關聯了圖書使用者
組,以繼承其許可權。還新增了乙個 users 字段,讓管理員和內部 root 使用者自動成為應用管理員。
「 小貼士: 在 odoo 老版本中, admin 管理員使用者同時也是 root 使用者。 odoo 12 中有乙個系統 root 使用者,在使用者列表中不顯示,僅在框架需要進行提權(sudo)時在內部使用。 admin 可以登入系統並應擁有所有功能的訪問許可權,但不再像系統 root 使用者那樣可以繞過訪問限制。 」同樣需要在宣告檔案中新增該 xml 檔案:
'data': [
'security/library_security.xml',
'views/library_menu.xml',
],注意 library_security.xml 加在 library_menu.xml 檔案之前,資料檔案的載入順序非常重要,因為我們只能引用已經定義過的識別符號。選單項經常引用到安全組,所以建議將安全組定義檔案放到選單和視**件之前。
更多教程:
Odoo安裝教程13 建立新的外掛程式模組之業務邏輯層
業務邏輯層編寫應用的業務規則,如驗證和自動計算。現在我們來為按鈕新增邏輯,通過在模型 python 類中編寫方法來實現。上文中我們在 book 表單中新增了乙個按鈕,用於檢查 isbn 是否有效。現代 isbn 包含 13位數字,最後一位是由前 12 位計算所得的檢查位。我們無需深入到演算法的細節,...
Odoo安裝教程6 建立新的外掛程式模組第五講
一些 odoo 模組建立新應用,而另一些則對已有應用新增功能或作出修改。雖然兩者的技術元件基本相同,但應用會被預期包含一些特徵性元素。我們建立的是乙個圖書應用,所以應包含這些元素,它們是 圖示 用於在應用列表中展示 頂級選單項 其下放置所有的應用選單項 應用安全組 通過許可權訪問僅對指定使用者開放 ...
Odoo安裝教程1 建立第乙個 Odoo 應用
odoo 開發通常都需要建立自己的外掛程式模組。本文中我們將通過建立第乙個應用來一步步學習如何在 odoo 中開啟和安裝這個外掛程式。我們將從基礎的開發流學起,即建立和安裝新外掛程式,然後 在開發迭代中更新 來進行公升級。odoo 採用類 mvc model view controller 的結構,...