odoo权限

参考文档:

toby2chen odoo权限机制

权限管理的四个层次

  • 菜单级别:不属于指定菜单所包含组的用户看不到该菜单,不安全,只是隐藏菜单,若知道菜单ID,仍然可以通过指定URL访问

  • 对象级别:对某个对角是否有'创建,读取,修改,删除'的权限,可以简单理解为表对象

  • 记录级别:对对象表中的数据的访问权限,比如访问“客户”对象,业务员只 能对自己创建的客户有访问权限,而经理可以访问其管辖的业务员所有的“客户”对象

  • 字段级别:一个对象或表上的某些字段的访问权限,比如产品的成本字段只有经理有读权限

    'name':fields.char('Name',size=128,required=True,select=True,write=['base.group_admin']
    read=['base.group_admin'])
    /定义name字段只能超级用户组可读写/

  • 工作流级别:在工作流的每一步迁移中,设置哪些角色允许触发本迁移

建立权限组

这是我们常说的用户组,会通常放在“模块名_security.xml”这个文件中
例如:


Manager
the user will have an access to the human resources configuration as well as statistic reports.




@name:用户组名
@comment:用户组的注释
@category_id 用户组所属的模块名
@implied_ids 基于哪个用户组,这个层级关系 是最基础的
用户名,最初是基于这个,后面一层一层递增,像上面 base.group_hr_user 定义时就是基于最基础
@users 预设用户属于这个用户组

使用权限组

权限管理核心是权限组,每个权限组,可以设置权限组的 Menus,Access Right, Record Rule

定义该权限组可以访问哪些菜单,若该权限组可以访问某父菜单,父菜单对应的子菜单会显示出来

若不想显示其子菜单,可以把其子菜单加入 "Useablity/No One" 权限组。

Access Right:

定义该权限组可以访问哪些对象,以及拥有 增、查、改、删的哪个权限 (create,read,write,unlink)

Record Rule:

定义该权限组可以访问对象中的哪些记录,以及拥有 增、查、改、删的哪个权限 ,Access Right是
对对象中的所有记录赋权限,Record Rule 则通过定义domain过滤指定某些记录赋权限
['&',('department','=',user.context_department_id.id),('state','=','pr_draft')]
申购单的部门等于当前用户的部门,且申购单的状态是草稿状态

基于组的访问控制

视图中

运用group_id


sale.order.form.editable.list
sale.order



<xpath expr="//field[@name='order_line]/tree" position="before"



eval:把eval的值通过作为python运算返回该属性

ref:视图的方法,根据 module_name.xml_id 返回数据库id

[(6,0,[xx,yy])]

(0,_ ,{’field’: value}) 这将创建一个新的记录并连接它

(1,id,{’field’: value}): 这是更新一个已经连接了的记录的值

(2,id,_) 这是删除或取消连接某个已经连接了的记录

(3,id,_) 这是取消连接但不删除一个已经连接了的记录

(4,id,_) 连接一个已经存在的记录

(5,,) 取消连接但不删除所有已经连接了的记录

(6,_,[ids]) 用给出的列表替换掉已经连接了的记录

这里的下划线一般是0或False

运用groups

posted on 2019-01-31 17:03  万象IT  阅读(293)  评论(0)    收藏  举报

导航