部分记录查看、部分记录编辑的权限配置方法
-
由于公司业务的需要,公司的行政经理需要看到所有的员工,但是又只能让他们修改自己公司的员工(公司是集团架构),之前自己摸索一直没成功,今天在jeff的指导下,终于配置成功,配置方法很简单(之前主要是没有掌握一个诀窍):
1、在 人力资源 / 经理 组中增加一条规则,限定记录的访问范围([('company_id','=',user.company_id.id)]);
2、在访问权限(对象级别权限)那里要把“读权限”上面的勾去掉,新建、修改、删除的权限都勾上;
其实事后想想,确实是应该这样,读权限应该要用 雇员组 中的权限,如果这里勾选了读权限,会覆盖掉之前的,导致只能看到自己公司的员工。
美中不足:这样配置后,对于只能查看的记录,在form视图中还是会显示编辑按钮,只是点击后会提示没有权限。
要是按钮都不出来就美啦!!!
:P[size=14pt][b]补充[/b][/size]
之前配置规则时都只是配置了记录级的权限,在页面配置的时候发现是可以同时配置对象级别的权限的,在addons宝库里搜索了一把,呦,还真有,有好东西当然要和大家一起分享。现将例子奉上:<record id="goal_officer_visibility" model="ir.rule"><br /> <field name="name">HR Officer can see any goal</field><br /> <field name="model_id" ref="gamification.model_gamification_goal"/><br /> <field name="groups" eval="[(4, ref('base.group_hr_user'))]"/><br /> <field name="perm_read" eval="True"/><br /> <field name="perm_write" eval="True"/><br /> <field name="perm_create" eval="False"/><br /> <field name="perm_unlink" eval="False"/><br /> <field name="domain_force">[(1, '=', 1)]</field><br /> </record>