Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

OpenERP的权限设置



  • OpenERP的权限的核心是权限组(res_groups)。对每个权限组,可以设置权限组的Menus,Access Right,Record Rule。<br /><br />Menus表示,该权限组可以访问哪些菜单。如果指定某权限组可以访问某父菜单,那么,系统会根据该权限组可访问的对象(Access Right中定义)自动计算,哪些子菜单可以显示。计算规则是,如果没有为该子菜单指定任何权限组,且该权限组对该子菜单关联的对象有至少读的权限,那么,系统会自动显示该菜单。如果不希望系统自动显示某子菜单,只要把该子菜单加入系统自带的“Useability / No One”权限组,该菜单就不会被显示了。“Useability / No One”通常用来隐藏某些菜单,通常不会指定任何用户属于“Useability / No One”权限组。<br /><br />Access Right表示,该权限组可以访问哪些对象,以及拥有读、写、删、建中的哪个权限。如下图中最后一行,表示,Employee权限组对Partner(res_partner)对象只有读权限。<br />[attachimg=1]<br /><br />Record Rule表示,该权限组可以访问对象中的哪些记录,以及拥有读、写、删、建中的哪个权限。Access Right指定的权限,是对该对象的数据表里的所有记录拥有该权限。Record Rule指定,只对该对象的数据表里的某些记录(通过定义过滤条件Domain指定)拥有某些(读、写、删、建)权限。<br />[attachimg=2]<br /><br />如上图表示,Employee权限组,对申购单(Purchase Requisition) 对象中,对本部门的,且处于草稿状态的申购单,拥有创建、删除、更新的权限。对于非本部门的或者不是草稿状态的申购单,由于不符合Domain条件,更新或删除时候,系统都会报错。<br />['&',('department', '=', user.context_department_id.id),('state', '=', 'pr_draft')]<br /><br />这个Domain条件表示,申购单的部门等于当前用户的部门,申购单的状态是草稿(pr_draft)。系统的实际实现是,在数据库访问的Update, Delete等语句中,强行加上本处定义的Domain条件(因此在系统内部,此处的Domain条件叫“Domain_Force”,哈哈)。<br /><br />字段权限,还可以指定,某字段只能供某权限组访问。Access Right和Record Rule表示,权限组可以访问哪些对象,以及对象里的哪些记录。而字段权限指定,权限组能访问记录里的哪个字段。如下例表示,只有base.group_admin权限组才可以读、写name字段。<br />'name': fields.char('Name', size=128, required=True, select=True, write=['base.group_admin'],read=['base.group_admin'] ),<br />又如下例在视图上指定,只有group_product_variant权限组才能看到产品的variants(规格)字段。<br /><field name="variants" groups="product.group_product_variant"/><br /><br />工作流权限,在工作流的迁移(Transition)的定义中,可以指定哪个权限组可以触发本迁移,定义语法是:<field name="group_id" ref="groupid"/> 。<br /><br />灵活组合上述权限设置,可以满足非常复杂的权限要求,如工作流的审批权限,菜单的访问权限,记录的访问权限,字段的访问权限,等等。<br />



  • OpenERP的权限的核心是权限组(res_groups)。对每个权限组,可以设置权限组的Menus,Access Right,Record Rule。<br /><br />Menus表示,该权限组可以访问哪些菜单。如果指定某权限组可以访问某父菜单,那么,系统会根据该权限组可访问的对象(Access Right中定义)自动计算,哪些子菜单可以显示。计算规则是,如果没有为该子菜单指定任何权限组,且该权限组对该子菜单关联的对象有至少读的权限,那么,系统会自动显示该菜单。如果不希望系统自动显示某子菜单,只要把该子菜单加入系统自带的“Useability / No One”权限组,该菜单就不会被显示了。“Useability / No One”通常用来隐藏某些菜单,通常不会指定任何用户属于“Useability / No One”权限组。<br /><br />Access Right表示,该权限组可以访问哪些对象,以及拥有读、写、删、建中的哪个权限。如下图中最后一行,表示,Employee权限组对Partner(res_partner)对象只有读权限。<br />[attachimg=1]<br /><br />Record Rule表示,该权限组可以访问对象中的哪些记录,以及拥有读、写、删、建中的哪个权限。Access Right指定的权限,是对该对象的数据表里的所有记录拥有该权限。Record Rule指定,只对该对象的数据表里的某些记录(通过定义过滤条件Domain指定)拥有某些(读、写、删、建)权限。<br />[attachimg=2]<br /><br />如上图表示,Employee权限组,对申购单(Purchase Requisition) 对象中,对本部门的,且处于草稿状态的申购单,拥有创建、删除、更新的权限。对于非本部门的或者不是草稿状态的申购单,由于不符合Domain条件,更新或删除时候,系统都会报错。<br />['&',('department', '=', user.context_department_id.id),('state', '=', 'pr_draft')]<br /><br />这个Domain条件表示,申购单的部门等于当前用户的部门,申购单的状态是草稿(pr_draft)。系统的实际实现是,在数据库访问的Update, Delete等语句中,强行加上本处定义的Domain条件(因此在系统内部,此处的Domain条件叫“Domain_Force”,哈哈)。<br /><br />字段权限,还可以指定,某字段只能供某权限组访问。Access Right和Record Rule表示,权限组可以访问哪些对象,以及对象里的哪些记录。而字段权限指定,权限组能访问记录里的哪个字段。如下例表示,只有base.group_admin权限组才可以读、写name字段。<br />'name': fields.char('Name', size=128, required=True, select=True, write=['base.group_admin'],read=['base.group_admin'] ),<br />又如下例在视图上指定,只有group_product_variant权限组才能看到产品的variants(规格)字段。<br /><field name="variants" groups="product.group_product_variant"/><br /><br />工作流权限,在工作流的迁移(Transition)的定义中,可以指定哪个权限组可以触发本迁移,定义语法是:<field name="group_id" ref="groupid"/> 。<br /><br />灵活组合上述权限设置,可以满足非常复杂的权限要求,如工作流的审批权限,菜单的访问权限,记录的访问权限,字段的访问权限,等等。<br />



  • 占座慢慢看.....



  • 支持



  • [quote author=小鑫 link=topic=2503.msg8286#msg8286 date=1309848882]<br />支持<br />[/quote] :D :D



  • 太棒了。



  • 说的很清楚,谢谢!!



  • mark


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待