国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Odoo權限管理

mikasa / 2493人閱讀

摘要:在中,使用用戶組來管理權限,一個特殊的用戶組是員工員工組,所有的用戶都屬于這個組,這個組里包含一些基本的權限。字段級別設置表中的字段的訪問權限。

在Odoo中,使用用戶組(res.groups)來管理權限,一個特殊的用戶組是 員工/員工(base.group_user) 組,所有的用戶都屬于這個組,這個組里包含一些基本的權限。
四種權限級別(粒度越來越細):
1.菜單/對象級別
設置哪些人可以訪問哪些菜單/對象,對象的訪問權限包括創建、讀、寫、刪除。
2.記錄級別
設置哪些人可以訪問哪些記錄,也就是設置表的查詢條件。
3.字段級別
設置表中的字段的訪問權限。
4.工作流級別(很少用到
在工作流的每一步遷移中,設置哪些角色允許觸發本遷移

下面示例使用的是account模塊中的代碼,所以大家有什么問題可以去odoo源碼查詢。
關于權限的文件一般在security文件夾中,
xxx_security.xml文件定義用戶組和用戶組對菜單的訪問權限
ir.model.access.csv定義用戶組對對象的權限矩陣

菜單/對象級別 用戶組

首先創建一個組分類(表示很多組屬于一個分類):


    module_category_accounting_and_finance
    57

再創建一個用戶組:


    
    Billing
    
    
    
    

修改這個組的一些內容,如:給這組加上一個用戶:


    
    

下面說一下eval語法:

(0, 0, {values}) 根據values的值新建一條記錄
(1, ID, {values}) 更新id=ID的記錄,(寫入values的值)
(2, ID) 刪除id=ID這條記錄,(調用unlink方法,刪除數據及整個主從數據鏈接關系)
(3, ID) 切斷主從數據的鏈接關系但是不刪除這個記錄
(4, ID) 為id=ID的數據添加主從鏈接關系
(5) 刪除所有的從數據的鏈接關系,也就是向所有的從數據調用(3, ID)
(6, 0, [IDs]}) 用IDs中的記錄替換原來的記錄(相當于先執行(5)在循環執行(4, ID))
用戶組對model的權限控制(也就是對象的訪問權限)

模塊下 security 目錄下的文件:ir.model.access.csv

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_product_product_account_user,product.product.account.user,product.model_product_product,group_account_user,1,0,0,0
access_product_product_account_manager,product.product.account.manager,product.model_product_product,group_account_manager,1,1,1,1
access_product_template_account_manager,product.template.account.manager,product.model_product_template,group_account_manager,1,1,1,1
access_product_price_history_account_manager,prices.history.account.manager,product.model_product_price_history,group_account_manager,1,1,1,1
access_account_payment_term,account.payment.term,model_account_payment_term,account.group_account_`user,1,0,0,0

id:可以隨便取,但是在一個模塊中是唯一的,一般取名為 access_模型名_特定用戶組名(用下劃線連起來)
name: 可以隨便取,一般命名沿用模型名用“.”連接加 用戶組名
model:id: 要做權限控制的model,格式寫法是 模塊名.model_模塊名(中間的‘.’換成‘_’),如果model在此模塊中,可以省略模塊名,如product.model_product_product
group:id:組的id,不是本模塊的組,要在前面加上模塊名,如:account.group_account_user
perm_read,perm_write,perm_create,perm_unlink:這些就是具體的權限:讀寫增刪,1 有權限,0 無權限

菜單的權限控制 第一種寫法(所有的記錄,都可以用這種方法添加及修改,如果id是一樣的話就是修改這條記錄,如果沒有這個id就是添加該記錄)

    Invoicing
    account,static/description/icon.png
    40
    
第二種寫法(簡潔寫法)

上面的2個xml表示menu_finance這個菜單只能被group_account_user,group_account_manager,group_account_invoice 三個用戶組訪問
如果有上級菜單,加parent屬性,如果上級菜單不在本模塊中,需要加模塊名如:account.menu_finance:

記錄級別的權限控制

記錄的權限放在"ir.rule"model中,所有我們添加或修改ir_rule表中的記錄,就可以控制記錄的權限


    
    Account Entry
    
    
    
    
    
    ["|",("company_id","=",False),("company_id","child_of",[user.company_id.id])]
    
    
    
    
    

domain_force(也就是domain表達式的寫法)寫法請看我的另一篇博客domain的寫法及運用。

字段級別的權限控制

給字段上添加用戶組,表示只有這些組的用戶在這個視圖中才能訪問和操作這個字段,如:


    account.invoice.line.tree
    account.invoice.line
    
        
            
            
            
            
            
            
            
            
        
    

上面xml表示在這個tree視圖(這里注意,這個權限只針對這個tree視圖)上,account_id,uom_id,discount這3個字段只有對應的用戶組中的用戶才能看到。
如果你想在這個model的所有視圖中都有這個權限控制的話,要在這個字段定義的時候,就要指定groups,多個用戶組用","分隔,如:

gengo_private_key = fields.Text(string="Gengo Private Key", copy=False, groups="base.group_system,base.group_user")

權限控制到這里就結束了,如果有什么錯誤的地方,歡迎大家指出。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41678.html

相關文章

  • Odoo 基礎教程系列」第七篇——從 Todo 應用開始(6)

    摘要:今天這個系列教程即將迎來它的最后一篇內容了,我們將要來學習中權限相關的內容。在的權限管理體系中,同樣也有用戶組這一概念的存在,和其他框架如可以說大同小異。通常和權限相關的內容,我們都會在模塊的目錄下進行定義,記錄集規則的定義自然也不例外。 在今年的情人節(2018.02.14)那天,我寫了一篇博客說即將要開一個坑,也就是大家在看的這個系列的教程。今天這個系列教程即將迎來它的最后一篇內容...

    zeyu 評論0 收藏0
  • Odoo 基礎教程系列」第〇篇——開天坑啦

    摘要:而模塊化則是區別于大多數傳統的最強特性,基于這一特性,開發人員可以輕松地繼承和擴展任何現有的模塊,可以輕松地針對不同的需求進行功能定制。相關文章基礎教程系列第一篇環境準備 showImg(https://segmentfault.com/img/remote/1460000013290099?w=1280&h=856); 大家新年好!給大伙拜個早年,今天也是情人節呢,這么好的日子,卻一...

    X1nFLY 評論0 收藏0
  • Odoo 基礎教程系列」第二篇——從 Todo 應用開始(1)

    摘要:雖然這是個很簡單的應用,但是希望大家可以動手一起操作,從最簡單的開始上手學習如何使用這個框架。則是在和之間,負責響應用戶操作,從中獲取數據進行處理并返回到中。 showImg(https://segmentfault.com/img/bV66tE?w=728&h=410); 在第一篇教程發布之后差不多一個月的今天,終于完成了第二篇內容,這個發布周期拖得實在是有點太長了,我都覺得不好意思...

    UCloud 評論0 收藏0
  • Centos7 安裝 Odoo11

    摘要:安裝安裝基于穩定性考慮安裝的是,而且默認的官方源中不提供的安裝包,所以我們要先換一個提供的源。安裝完成之后,創建一個配置文件。 Centos7 安裝 Odoo11 1 安裝python3.6 Centos7 基于穩定性考慮安裝的是python2.7,而且默認的官方 yum 源中不提供 Python 3 的安裝包,所以我們要先換一個提供python3的yum源-- IUS 。 1、IU...

    Euphoria 評論0 收藏0
  • Centos7 安裝 Odoo11

    摘要:安裝安裝基于穩定性考慮安裝的是,而且默認的官方源中不提供的安裝包,所以我們要先換一個提供的源。安裝完成之后,創建一個配置文件。 Centos7 安裝 Odoo11 1 安裝python3.6 Centos7 基于穩定性考慮安裝的是python2.7,而且默認的官方 yum 源中不提供 Python 3 的安裝包,所以我們要先換一個提供python3的yum源-- IUS 。 1、IU...

    wums 評論0 收藏0

發表評論

0條評論

mikasa

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<