日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

odoo第二天,请假单,权限第一天

發(fā)布時間:2024/3/12 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 odoo第二天,请假单,权限第一天 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

controllers 都是注釋代碼
demo 沒有
模塊的類文件 models/models.py

# odoo 類必要的 from odoo import models, fields, api# 這里我們定義了qingjiadan對象模型,class qingjiadanw(models.Model):_name = 'qingjia.qingjiadanw'# 四個屬性,name,days,startdate,reason。# 在模塊安裝完成后,odoo的ORM框架會自動把這個對象映射到數(shù)據(jù)庫表。# 屬性類型會映射到表字段數(shù)據(jù)類型,表名是模塊名_對象名,# 比如這個對象對應(yīng)的表名是qingjia_qingjiadanwname = fields.Char(string="申請人字段")days = fields.Integer(string="天數(shù)字段")startdate = fields.Date(string="開始日期字段")reason = fields.Text(string="請假事由字段")

安裝模塊后打開數(shù)據(jù)庫可以搜到我們的表,不然就是沒成功

<openerp><data><!-- tree視圖 --><record id="view_tree_qingjia_qingjiadan" model="ir.ui.view"><field name="name">請假單列表</field><!--<field name="model">qingjia.qingjiadan</field>--> <!--將這個視圖與我們之前定義的對象模型qingjia.qingjiadan進行綁定。--><field name="model">qingjia.qingjiadan</field><!--這里表示這是一個tree視圖,并定義列表項顯示的列。在列表項中顯示name,days,startdate三個字段的內(nèi)容,這里字段都是在qingjia.qingjiadan對象模型中定義的。--><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>

<!--&lt;!&ndash; 視圖動作 &ndash;&gt;--><act_window id="action_qingjia_qingjiadan"name="請假單"res_model="qingjia.qingjiadan"view_mode="tree,form" /><!-- 頂級菜單 --><menuitem name="請假" id="menu_qingjia"/><!-- 二級菜單 --><!--二級菜單的通過parent屬性與頂級菜單關(guān)聯(lián),action是菜單點擊動作響應(yīng)方法,沒有這個頂部請假標簽視圖不會出來。--><menuitem name="請假單" id="menu_qingjia_qingjiadan" parent="menu_qingjia" /></data> </openerp>

權(quán)限
在odoo中新建兩個用戶user1,user2
編輯security/ir.model.access.csv
id, name, model_id:id, group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_qingjia_qingjia,qingjia.qingjia,model_qingjia_qingjia, ,1,0,0,0
Module loading qingjia failed: file qingjia\security/ir.model.access.csv could not be processed:
No matching record found for external id ‘model_qingjia_qingjia’ in field ‘Object’ id錯誤,發(fā)現(xiàn)是和odoo定義的id不對應(yīng)
“`
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_模塊名_類名,其它地方(report)引用權(quán)限會用這個id group_id:idid,這里的base.group_user是系統(tǒng)內(nèi)置組,即員工.員工組,創(chuàng)建帳戶時,默認屬于這個組。所以給這個組賦權(quán)限,相當于給新帳戶的默認權(quán)限。 perm_read,perm_write,perm_create,perm_unlink 對應(yīng)讀、寫、增加、刪除權(quán)限,1是有權(quán)限,0是無權(quán)限,具體根據(jù)需要來設(shè)置權(quán)限 編輯__manifest__.py 在'data':[]中添加權(quán)限文件 'security/ir.model.access.csv', 新增一行'application': True,這樣在應(yīng)用中默認能搜索到請假單模塊,因為應(yīng)用列表默認使用應(yīng)用過濾器的。record 紀錄顯示自己的 <!--record 規(guī)則 --> <record id="rule_user_qingjia_qingjiadan" model="ir.rule"><field name="name">自己編輯自己的請假單</field><!--模塊id,對應(yīng)ir.model.access.csv文件中定義的model_id--><field name="model_id" ref="model_qingjia_qingjiadan" /><!--domain表達式,'create_uid'是qiangjia_qingjiadan表的字段,在insert數(shù)據(jù)時,odoo自動寫入添加用戶的id。user.id是當前用戶id。這個domain表達式的含義就是請假單數(shù)據(jù)的添加用戶id等于當前用戶id.--><field name="domain_force">[('create_uid','=',user.id)]</field><!--(4,ID)添加主從鏈接關(guān)系到id=ID的對象。就是對應(yīng)id組的成員就可以獲取domain_force中的數(shù)據(jù)--><field name="groups" eval="[(4,ref('base.group_user'))]"/> </record>

“`

總結(jié)

以上是生活随笔為你收集整理的odoo第二天,请假单,权限第一天的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。