Odoo(OpenERP)关于分公司之间的查看权限问题


Odoo(OpenERP)关于分公司之间的查看权限问题

www.chinamaker.net 2013-11-20 11:42:00 admin

问:请教一下,我在oe里面建了3个分公司,比如我一个A用户是华东地区的,B用户是华南的,那么我想属于华东地区的登陆进去只能看到华东公司  
答:通过OE权限设置可以轻松解决这个问题。
oe的权限主要是ACL和RULE这两个方面,还有菜单和界面等方面。
创建权限组

示例

  1. id="base.group_website_publisher" model="res.groups">
  2. name="name">Display Editor Bar on Website
  3. name="category_id" ref="base.module_category_website"/>
  4.  
  5.  
  6. id="base.group_website_designer" model="res.groups">
  7. name="name">Manage Website and qWeb view
  8. name="users" eval="[(4, ref('base.user_root'))]"/>
  9. name="implied_ids" eval="[(4, ref('base.group_website_publisher'))]"/>
  10. name="category_id" ref="base.module_category_website"/>
  11.  

以上截选自 odoo website 模块源码,创建了两个组

name 组的描述名称
category_id 指定此组属于哪个应用程序(模块)
users 指定了组里面的用户,这里表示把admin用户添加到该组

eval 解析
(4,ID)添加主从链接关系到id=ID的对象。

(3,ID)去除和id=ID的对象主从链接关系,但是不删除这个对象

(2,ID) 去除和id=ID的对象主从链接关系,并且删除这个对象(调用unlink方法)

(5) 去除所有的链接关系,也就是循环所有的从数据且调用(3,ID)

(6,0,[IDs]) 用IDs里面的记录替换原来链接的记录,即先执行(5)再循环IDs执行(4,ID)

组和菜单

  1. model="ir.ui.menu" id=" memu_id1">
  2. name="name" >menu1
  3. name="groups_id" eval="[(6,0,[ref('A'),ref('B')]),]"/>
  4. name="sequence">1
  5.  
 

name 菜单名称
groups_id 哪些组可以访问该菜单

以上内容表示A组与B组的成员都可以访问menu1菜单

另一中写法:

  1. id="menu_id1 " name="menu1" parent="menu_p" sequence="1" groups="A,B "/>

base.group_user 是一个通用的系统内置用户组, Odoo系统中所有用户默认属于此组

记录规则

权限规则可用于更精细化的权限控制,对应【设置】->【安全】->【记录规则】的数据

  1. model="ir.rule" id="rule1">
  2. name="name">rule1
  3. name="model_id" ref="model_model1"/>
  4. name="global" eval="True"/>
  5. name="domain_force">[1,’=’,1]
  6. name="groups" eval="[(4,ref('A'))]"/>
  7.  
 

name 规则名称
model_id 对应的模型
global 是否是全局
domain_force 过滤条件
groups 属于哪个组

以上表示A组的成员就可以获取model_model1的所有数据,可以看出domain_force是控制的关键

访问控制列表(组和权限映射表)

另一种表达权限规则的方式是编写 ir.model.access.csv 文件
对应【设置】->【安全】->【访问控制列表】的数据
示例:

id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
access_xxx xxxxx model_website_menu base.group_website_designer 1 1 1 1

model_id:id 对应的对象模型,
写法示例:website.model_website_config_settings
如果内容本身在website模块中则可以省略website.
后面则为模型的name将”.”替换成”-“的结果,在前面加model_

group_id:id 哪个组
perm_readperm_writeperm_createperm_unlink 增删改查权限。1 有权限 0 无权限


 

来源:苏州远鼎官网


相关标签 TAG :  Odoo  分公司  权限  


苏州远鼎

运用前沿科学技术,苏州远鼎信息技术有限公司以开源管理软件产品为核心,为企业和政府组织提供软件及服务,是OpenERP(Odoo)专业服务商,中国开源管理软件服务市场的领跑者。

Read More

远鼎产品

联系远鼎

  • 苏州工业园区星湖街328号22栋301
  • +86-0512-69361217
  • odoo@chinamaker.net
  • www.chinamaker.net