Openerp权限设置总结

男娘i 2022-08-04 01:54 231阅读 0赞

主要对模块下的security 目录下的文件:xxx_security.xml、ir.model.access.csv进行讲解

@ xxx_security.xml

1、 建立组



A



//把admin用户加入该组中

@name 组名称

@ category_id 属于哪个应用程序,或者哪个模块

@ users 组里面的用户

这样B应用程序就建立了一个名叫A的组。并且初始化了A组的一个用户admin

注:组一般是由职位等级划分的

2、 组控制菜单显示

A



menu1



1

@ name 菜单名称

@ groups_id 哪些组可以访问该菜单

@ sequence 该菜单的序号

这样A组与B组的成员都可以访问menu1菜单,menu1菜单的显示顺序为1

注:eval 后面解释,多个组访问用“,”隔开

B

@ name 菜单名称

@ parent 父类菜单 如果没有可以不写parent

@ groups哪些组可以访问该菜单

这样menu1的子菜单menu2可以被A组合B组的成员访问

注:两种菜单的group设置有区别

3、 权限规则
这个可以过滤掉其它数据,只取你需要的数据



rule1





[1,’=’,1]



@ name 规则名称

@ model_id 依赖的模块

@ global 是否是全局

@ domain_force 过滤条件

@ groups 属于哪个组

这样A组的成员就可以取到model_model1的所有数据

注:model_id 这个放在后面讲ir.model.access.csv的时候讲

domain_force 这个很重要,只有这个写好了才能获取到自己想要的数据

  1. ir.model.access.csv

定义组对对象的权限矩阵

@id 随便取

@name 随便取

@model_id:id 这个就是你所定义的对象了

@group_id:哪个组

@perm_read”,”perm_write”,”perm_create”,”perm_unlink” 增删改查权限了。1代表有权限

5.Eval

many2many

(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)再执行循环IDs执行(4,ID))

例子[(6, 0, [8, 5, 6, 4])] 设置 many2many to ids [8, 5, 6, 4]

one2many

(0, 0,{ values })根据values里面的信息新建一个记录。

(1,ID,{values}) 更新id=ID的记录(对id=ID的执行write 写入values里面的数据)

(2,ID) 删除id=ID的数据(调用unlink方法,删除数据以及整个主从数据链接关系)

例子:

[(0,0,{‘field_name’:field_value_record1,…}),(0,0,{‘field_name’:field_value_record})]

many2one的字段比较简单,直接填入已经存在的数据的id或者填入False删除原来的记录。

6.隐藏的常用技巧

* 直接隐藏



True

* 满足某些条件的隐藏

  1. <xpath expr="//field\[@name='parent\_id'\]" position='attributes'>
  2. <attribute name="attrs">\{'invisible': \[('passenger','=', True)\]\}</attribute>
  3. </xpath>

* 通过组来隐藏



base.group_no_one

* 菜单的隐藏





发表评论

表情:
评论列表 (有 0 条评论,231人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Openerp附件存储位置

    我们知道对OpenERP中的每个内部对象(比如:业务伙伴,采购订单,销售订单,发货单,等等)我们都可以添加任意的附件,如图片,文档,视频等。那么这些附件在OpenERP内部是如

    相关 OpenERP登录页面调整

    在OpenERP的登录页面中,有针对数据库管理的链接,为了安全起见,一般都会通过修改原始的XML来实现隐藏的目的。但这样每次重新安装以后,都要重新修改,很不方便,所以我们可以通