首页 > 其他分享 >OpenERP的权限设置

OpenERP的权限设置

时间:2023-08-06 12:56:37浏览次数:36  
标签:Domain 菜单 OpenERP 指定 Access 访问 设置 权限

OpenERP的权限的核心是权限组(res_groups)。对每个权限组,可以设置权限组的Menus,Access Right,Record Rule。

Menus表示,该权限组可以访问哪些菜单。如果指定某权限组可以访问某父菜单,那么,系统会根据该权限组可访问的对象(Access Right中定义)自动计算,哪些子菜单可以显示。计算规则是,如果没有为该子菜单指定任何权限组,且该权限组对该子菜单关联的对象有至少读的权限,那么,系统会自动显示该菜单。如果不希望系统自动显示某子菜单,只要把该子菜单加入系统自带的“Useability / No One”权限组,该菜单就不会被显示了。“Useability / No One”通常用来隐藏某些菜单,通常不会指定任何用户属于“Useability / No One”权限组。

Access Right表示,该权限组可以访问哪些对象,以及拥有读、写、删、建中的哪个权限。如下图中最后一行,表示,Employee权限组对Partner(res_partner)对象只有读权限。
[attachimg=1]

Record Rule表示,该权限组可以访问对象中的哪些记录,以及拥有读、写、删、建中的哪个权限。Access Right指定的权限,是对该对象的数据表里的所有记录拥有该权限。Record Rule指定,只对该对象的数据表里的某些记录(通过定义过滤条件Domain指定)拥有某些(读、写、删、建)权限。
[attachimg=2]

如上图表示,Employee权限组,对申购单(Purchase Requisition) 对象中,对本部门的,且处于草稿状态的申购单,拥有创建、删除、更新的权限。对于非本部门的或者不是草稿状态的申购单,由于不符合Domain条件,更新或删除时候,系统都会报错。
['&',('department', '=', user.context_department_id.id),('state', '=', 'pr_draft')]

这个Domain条件表示,申购单的部门等于当前用户的部门,申购单的状态是草稿(pr_draft)。系统的实际实现是,在数据库访问的Update, Delete等语句中,强行加上本处定义的Domain条件(因此在系统内部,此处的Domain条件叫“Domain_Force”,哈哈)。

字段权限,还可以指定,某字段只能供某权限组访问。Access Right和Record Rule表示,权限组可以访问哪些对象,以及对象里的哪些记录。而字段权限指定,权限组能访问记录里的哪个字段。如下例表示,只有base.group_admin权限组才可以读、写name字段。
'name': fields.char('Name', size=128, required=True, select=True, write=['base.group_admin'],read=['base.group_admin'] ),
又如下例在视图上指定,只有group_product_variant权限组才能看到产品的variants(规格)字段。
<field name="variants" groups="product.group_product_variant"/>

工作流权限,在工作流的迁移(Transition)的定义中,可以指定哪个权限组可以触发本迁移,定义语法是:<field name="group_id" ref="groupid"/> 。

灵活组合上述权限设置,可以满足非常复杂的权限要求,如工作流的审批权限,菜单的访问权限,记录的访问权限,字段的访问权限,等等。

标签:Domain,菜单,OpenERP,指定,Access,访问,设置,权限
From: https://www.cnblogs.com/pythonClub/p/17609313.html

相关文章

  • 深入解析OpenERP的报表开发机制
    1)OpenERP报表的基本运行机制  OpenERP报表的一般定义语法是:   <reportid="c2c_demo_report_x"string="C2CDemoReport"model="hr.holidays"     name="sandbox_c2c_reporting_tools"auto="False"header="False&quo......
  • 深入理解OpenERP的工作流(Workflow)
    一、工作流定义:<?xmlversion="1.0"?> <terp><data>  <recordmodel="workflow"id=workflow_id>  <fieldname="name">workflow.name</field>  <fieldname="osv">resource.model</f......
  • OpenERP中生产领料、投料、损耗、退料、成品入库的操作方法
    1)OpenERP中生产订单MO的运行原理1.1)计算物料需求。在OpenERP中,MO确认时候(跑MRP的话,系统通常会自动确认),系统基于MO上的BoM表,计算需要的原料,并自动生成一张领料单(从MO上的源库位领料到MO上的Routing上定义的库位,通常是车间)。默认情况下(如果不装stock_no_autopicking模块的话),该领料......
  • OpenERP分析会计(Analytic Account)应用案例
    AnalyticAccount,分析会计,也叫管理会计、成本会计。分析会计有何应用呢?试看两个例子:1)佣金计算,对于每一张销售订单(SO,SalesOrder),业务员提成销售额的1%,关系人返点(回扣)5%。如何配置OpenERP系统以实现本业务需求呢?2)制造费用分配,我们知道生产成本核算中,先要按标准费率计算加工费用,......
  • Typora 主题,设置代码块Mac风格三个小圆点
    目录打造Typora主题1typoa样式修改步骤1.1第一步打开偏好设置1.2第二步打开主题文件夹2标题添加颜色3表格优化4代码块Mac风格三个圆点5主题总代码如下:打造Typora主题Typora编辑器让人们能更简单地用Markdown语言书写文字,解决了使用传统的Markdown编辑器写文的痛点,并且界......
  • 记录小知识 数据库设置自动填充更新创建字段时间
    1,在数据库中设置该字段类型为timestamp  2,设置默认值为 CURRENT_TIMESTAMP3,更新字段需要点击勾选根据当前时间戳更新 而创建时间是不需要勾选的因为创建只需要一次 ......
  • [oeasy]python0079_控制序列_光标位置设置_ESC_逃逸字符_CSI
    光标位置回忆上次内容上次我们研究的比较杂类型转化进制转化捕获异常版本控制生成帮助文档变量的常用类型变量的生命周期控制数据类型主要研究了两个字符串str整型数字int字符串型和整型数字型变量是可以相互转化的加法运算逻辑会根据操作变量的不同而不同整型变量的加法是......
  • [oeasy]python0079_控制序列_光标位置设置_ESC_逃逸字符_CSI
    光标位置回忆上次内容上次我们研究的比较杂类型转化进制转化捕获异常版本控制生成帮助文档变量的常用类型变量的生命周期控制 数据类型主要研究了两个字符串str 整型数字int  字符串型和整型数字型变......
  • linux---设置允许流量转发
    linux---设置允许流量转发临时生效:#方法1(必须使用root账户)echo1>/proc/sys/net/ipv4/ip_forward#方法1变种(有sudo权限即可)echo1|sudotee/proc/sys/net/ipv4/ip_forward#方法2sudosysctl-wnet.ipv4.ip_forward=1方法1和方法2效果一样永久生效:修改/et......
  • 传奇服务端架设如何正确设置传奇服务端数据库?
    要配置DBC,让程序能够正确访问到数据库打开控制面板(图1.4.1)双击打开BDEAdministrator在菜单栏上选择Object→New弹出对话框.选择数据库驱动程序名字STANDARD标准.在左边输入数据库名字HERODB.数据库名字可以随便取.但服务端设置上要相对应.选择数据库表的路径,之前我们将服......