Openerp 记录规则,允许用户更新自己的员工记录,而不属于职员组
我试图在OpenERP 7.0中定义一个记录规则,该规则允许不在高级职员组中的用户仅更改其自己的员工记录,同时仍保留现有的全局规则,允许高级职员组中的用户拥有全部权限。我已通过以下详细信息建立了自定义规则:Openerp 记录规则,允许用户更新自己的员工记录,而不属于职员组,openerp,Openerp,我试图在OpenERP 7.0中定义一个记录规则,该规则允许不在高级职员组中的用户仅更改其自己的员工记录,同时仍保留现有的全局规则,允许高级职员组中的用户拥有全部权限。我已通过以下详细信息建立了自定义规则: 名称:用户\编辑\自己\员工\规则 对象:雇员 申请阅读:已选中 申请写入:已选中 规则定义:[('user\u id','=',user.id)] 然而,所有这一切似乎都是为了消除用户读取任何员工记录的能力,除了他们自己的记录。据我所知,我需要将此规则与逻辑OR运算符结合起来,并将组规
- 名称:用户\编辑\自己\员工\规则
- 对象:雇员
- 申请阅读:已选中
- 申请写入:已选中
- 规则定义:
[('user\u id','=',user.id)]
- 所有用户(员工组)都可以搜索和读取所有员工记录
- 员工组中的用户可以编辑自己的员工记录,但不能编辑其他员工记录
- 高级职员组中的用户可以编辑所有员工记录(这是人力资源模块的默认行为)
- 修改上述记录规则(用户编辑自己的员工规则)以仅应用于写入操作,而不应用于读取操作(用户可以查看所有员工记录,但不能编辑任何记录,包括自己的记录)
- 修改hr.employee系统用户访问控制规则以允许写入操作(用户现在可以编辑所有员工记录)
我得到的一个线索是,使用API在shell中返回员工的用户id,OpenERP返回
[5,'Joe Bloggs']
。我想知道我的记录规则是否正确地查询外键关系?提供访问规则是解决方案的一部分。如果查看“设置>技术>安全>访问控制列表”中的“访问控制列表”,您可以看到集团Hr员工仅对模型Hr.Employee具有读取权限。因此,首先您还必须为集团员工提供对模型hr.employee的写访问权限。
允许对模型hr.Employee的组员工进行写访问后
- 从“设置”>“技术”>“安全”>“记录规则”中创建名为“用户\编辑\自己\员工\规则”的新记录规则(如您所愿)李>
- 为该组用户提供域\u编辑\u自己的\u员工\u规则为[('User\u id','=',User.id)]。并且这个域应该申请读写。ie;通过选中“申请读取”和“申请写入”布尔字段
- 创建另一个名为User\u edit\u own\u employee\u rule\u 1的记录规则
- 为该组用户提供域\u编辑\u自己的\u员工\u规则为[('User\u id','!=',User.id)]。此域应申请只读。ie;勾选“申请阅读”
- 名称:用户编辑自己的员工规则
- 对象:员工
- 申请读取:已选中
- 申请写入:已选中
- 规则定义:[('user\u id','=',user.id)]
- 组:人力资源/员工
- 名称:用户\u编辑\u自己的\u员工\u规则\u 1
- 对象:员工
- 申请读取:已选中
- 申请写入:未选中
- 规则定义:[('user\u id','!=',user.id)]
- 组:人力资源/员工
希望这有帮助….提供访问规则是解决方案的一部分。如果查看“设置>技术>安全>访问控制列表”中的“访问控制列表”,您可以看到集团Hr员工仅对模型Hr.Employee具有读取权限。因此,首先您还必须为集团员工提供对模型hr.employee的写访问权限。 允许对模型hr.Employee的组员工进行写访问后
- 从“设置”>“技术”>“安全”>“记录规则”中创建名为“用户\编辑\自己\员工\规则”的新记录规则(如您所愿)李>
- 为该组用户提供域\u编辑\u自己的\u员工\u规则为[('User\u id','=',User.id)]。并且这个域应该申请读写。ie;通过选中“申请读取”和“申请写入”布尔字段
- 创建另一个名为User\u edit\u own\u employee\u rule\u 1的记录规则
- 为该组用户提供域\u编辑\u自己的\u员工\u规则为[('User\u id','!=',User.id)]。此域应申请只读。ie;勾选“申请阅读”
- 名称:用户编辑自己的员工规则
- 对象:员工
- 申请读取:已选中
- 申请写入:已选中
- 规则定义:[('user\u id','=',user.id)]
- 组:人力资源/员工
- 名称:用户\u编辑\u自己的\u员工\u规则\u 1
- 对象