Odoo开发教程-odoo多仓库权限如何设置

odoo的权限,核心是 res_groups表。
比如 财务/经理、财务/会计、财务/出纳、仓库/主管、仓库/用户 等都是一个Group。
这里 斜杠前的“财务、仓库”是模块类别ir_module_category。
可以这样理解,财务模块的权限组有三个,分别是 经理、会计、出纳;

仓库模块的权限组有两个,分别是经理和用户。
1、在人力资源/经理组中增加一条规则,限定记录的访问范围([('company_id','=',user.company_id.id)]);
2、在访问权限(对象级别权限)那里要把“读权限”上面的勾去掉,新建、修改、删除的权限都勾上;
其实事后想想,确实是应该这样,读权限应该要用 雇员组 中的权限,如果这里勾选了读权限,会覆盖掉之前的,导致只能看到自己公司的员工。
  1. 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)
  2. name 菜单名称groups_id 哪些组可以访问该菜单
  3. 以上内容表示A组与B组的成员都可以访问menu1菜单
    另一中写法:
    1. base.group_user 是一个通用的系统内置用户组, Odoo系统中所有用户默认属于此组
    记录规则
    权限规则可用于更精细化的权限控制,对应【设置】->【安全】->【记录规则】的数据
    1. name 规则名称model_id 对应的模型global 是否是全局domain_force 过滤条件groups 属于哪个组
    以上表示A组的成员就可以获取model_model1的所有数据,可以看出domain_force是控制的关键
    访问控制列表(组和权限映射表)
    另一种表达权限规则的方式是编写 ir.model.access.csv 文件对应【设置】->【安全】->【访问控制列表】的。

    • 这样配置后,对于只能查看的记录
    • 在form视图中还是会显示编辑按钮,只是点击后会提示没有权限。