odoo10 學習筆記3(權(quán)限管理)

在odoo中新建兩個用戶user1,user2

新建用戶

建完了用戶赖草,記得編輯用戶闹究,設置密碼狈孔。
然后以user1用戶登錄系統(tǒng),在導航菜單中我們看不到請假菜單奴迅,因為我們沒有給user1這個用戶請假模塊的權(quán)限青责。編輯security/ir.model.access.csv

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_qingjia_qingjiadan,qingjia.qingjiadan,model_qingjia_qingjiadan,base.group_user,1,1,1,1

id
權(quán)限id,默認規(guī)則是access_模塊名_類名取具,還沒發(fā)現(xiàn)有什么用
name
權(quán)限名脖隶,默認規(guī)則是模塊名.類名,還沒發(fā)現(xiàn)有什么用
model_id:id
這個是固定寫法暇检,規(guī)則是model_模塊名_類名产阱,其它地方引用權(quán)限會用這個id
group_id:id
組id,這里的base.group_user是系統(tǒng)內(nèi)置組,即員工.員工組块仆,創(chuàng)建帳戶時构蹬,默認屬于這個組王暗。所以給這個組賦權(quán)限,相當于給新帳戶的默認權(quán)限庄敛。
perm_read,perm_write,perm_create,perm_unlink
對應讀俗壹、寫、增加铐姚、刪除權(quán)限策肝,1是有權(quán)限肛捍,0是無權(quán)限隐绵,具體根據(jù)需要來設置權(quán)限

編輯__manifest__.py

# -*- coding: utf-8 -*-
{
    'name': "qingjia",

    'summary': """
        請假模塊""",

    'description': """
        請假模塊
    """,

    'author': "leo",
    'website': "http://www.yourcompany.com",

    # Categories can be used to filter modules in modules listing
    # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml
    # for the full list
    'category': 'Uncategorized',
    'version': '0.1',

    # any module necessary for this one to work correctly
    'depends': ['base'],

    # always loaded
    'data': [
        'security/ir.model.access.csv',
        'views/views.xml',
        'views/templates.xml',
    ],
    # only loaded in demonstration mode
    'demo': [
        'demo/demo.xml',
    ],
    'application': True,    
}

'data':[]中添加權(quán)限文件 'security/ir.model.access.csv',
新增一行'application': True,這樣在應用中默認能搜索到請假單模塊,因為應用列表默認使用應用過濾器的拙毫。
以管理員身份登錄系統(tǒng)依许,在應用>應用查找qingjia模塊。然后升級缀蹄。

新增請假單

使用user1用戶登錄系統(tǒng)峭跳,現(xiàn)在可以看到請假菜單了。新建一個請假單缺前≈恚看起來功能正常。然后我們用user2登錄系統(tǒng)衅码。也可以看到這個請假單拯刁。如果我們希望用戶只能看到自己的請假單,如何做呢逝段,修改代碼views/views.xml

<openerp>
  <data>
    <!-- tree視圖 -->
    <record id="view_tree_qingjia_qingjiadan" model="ir.ui.view">
      <field name="name">請假單列表</field>
      <field name="model">qingjia.qingjiadan</field>
      <field name="arch" type="xml">
        <tree>
          <field name="name"/>
          <field name="days"/>
          <field name="startdate"/>
        </tree>
      </field>
    </record>    

    <!-- form視圖 -->
    <record id="view_form_qingjia_qingjiadan" model="ir.ui.view">
      <field name="name">請假單</field>
      <field name="model">qingjia.qingjiadan</field>
      <field name="arch" type="xml">
        <form>
          <sheet>
            <group name="group_top" string="請假單">
              <field name="name"/>
              <field name="days"/>
              <field name="startdate"/>
              <field name="reason"/>
            </group>            
          </sheet>
        </form>
      </field>
    </record>

    <!-- 視圖動作 -->
    <act_window id="action_qingjia_qingjiadan"
                   name="請假單"
                   res_model="qingjia.qingjiadan"
                   view_mode="tree,form" />
    
    <!-- 頂級菜單 -->
    <menuitem name="請假" id="menu_qingjia"/>

    <!-- 二級菜單 -->
    <menuitem name="請假單" id="menu_qingjia_qingjiadan" parent="menu_qingjia" action="action_qingjia_qingjiadan"/>

    <!--record 規(guī)則 -->
    <record id="rule_user_qingjia_qingjiadan" model="ir.rule">
      <field name="name">自己編輯自己的請假單</field>
      <field name="model_id" ref="model_qingjia_qingjiadan" />
      <field name="domain_force">[('create_uid','=',user.id)]</field>
      <field name="groups" eval="[(4,ref('base.group_user'))]"/>
    </record>

  </data>
</openerp>

增加了一個record 規(guī)則垛玻,幾個關鍵屬性
model_id
模塊id,對應ir.model.access.csv文件中定義的model_id
domain_forc
domain表達式奶躯,'create_uid'qiangjia_qingjiadan表的字段帚桩,在insert數(shù)據(jù)時,odoo自動寫入添加用戶的id嘹黔。user.id是當前用戶id账嚎。這個domain表達式的含義就是請假單數(shù)據(jù)的添加用戶id等于當前用戶id.
groups
組id,base.group_user前面說過,是系統(tǒng)內(nèi)置的員工組的外部id
再次升級請假模塊儡蔓,現(xiàn)在user1郭蕉、user2都只能看到自己的請假單,管理員可以看到全部的請假單浙值。odoo管理員默認擁有全部權(quán)限恳不。

總結(jié)下odoo權(quán)限分級:

  • 第一級是access rule,即表級權(quán)限开呐,控制用戶組對表的訪問權(quán)限烟勋,一般是用security/ir.model.access.csv文件來管理
  • 第二級是record rule规求,即行級權(quán)限,控制用戶組對表中數(shù)據(jù)行的訪問權(quán)限卵惦,可以寫在views/views.xml文件中
  • 其實還有第三級權(quán)限阻肿,是字段級權(quán)限,之后再學習沮尿。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丛塌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子畜疾,更是在濱河造成了極大的恐慌赴邻,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啡捶,死亡現(xiàn)場離奇詭異姥敛,居然都是意外死亡,警方通過查閱死者的電腦和手機瞎暑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門彤敛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人了赌,你說我怎么就攤上這事墨榄。” “怎么了勿她?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵袄秩,是天一觀的道長。 經(jīng)常有香客問我嫂拴,道長播揪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任筒狠,我火速辦了婚禮猪狈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辩恼。我一直安慰自己雇庙,他們只是感情好,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布灶伊。 她就那樣靜靜地躺著疆前,像睡著了一般。 火紅的嫁衣襯著肌膚如雪聘萨。 梳的紋絲不亂的頭發(fā)上竹椒,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機與錄音米辐,去河邊找鬼胸完。 笑死书释,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的赊窥。 我是一名探鬼主播爆惧,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锨能!你這毒婦竟也來了扯再?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤址遇,失蹤者是張志新(化名)和其女友劉穎熄阻,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體傲隶,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡饺律,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年窃页,在試婚紗的時候發(fā)現(xiàn)自己被綠了跺株。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡脖卖,死狀恐怖乒省,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情畦木,我是刑警寧澤袖扛,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站十籍,受9級特大地震影響蛆封,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勾栗,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一惨篱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧围俘,春花似錦砸讳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宿亡,卻和暖如春常遂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挽荠。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工克胳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泊碑,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓毯欣,卻偏偏與公主長得像馒过,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酗钞,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 創(chuàng)建第一個odoo 應用 Odoo遵循傳統(tǒng)的MVC模式腹忽。我們可以通過創(chuàng)建簡單的To-Do 應用來具體介紹分析 mo...
    F4A3閱讀 1,449評論 0 5
  • 安全 odoo提供了兩種方式來管理數(shù)據(jù)權(quán)限而不需要通過手寫權(quán)限管理相關代碼葫录,每種方式都通過用戶組來指定用戶:一個用...
    XiaoHaiYang閱讀 2,466評論 0 1
  • 本文是 Odoo 10.0 官方教程第二篇 建立網(wǎng)站 查看英文原文:https://www.odoo.com/do...
    集庫閱讀 1,434評論 0 2
  • 蝸牛逃跑了,在一個風雨大作的夜晚. 也許是風雨初至的前夜,也許是夜深人靜的凌晨,也許是云歇雨停的黎明,我不知道. ...
    申由己閱讀 964評論 4 50
  • 【新買的西裝】 戰(zhàn)后的日本曾經(jīng)有非常重要的十大發(fā)明着裹,其中影響力最大的卻是日本“貴婦人”時裝,“貴夫人”時裝的幾個...
    竹童閱讀 344評論 0 0