人类逻辑与OpenERP逻辑,困难时期。2记录规则,相同的对象,相同的组,不同的域
非常简单的想法:项目用户应该能够看到/读取所有任务,但只能编辑/编写他分配的任务。
简单,在project.task记录规则:
- 第1章:[( 'USER_ID',user.id '!=')],授予读取
- 第二个规则:[(”拨款RW
不,第二条规则覆盖第一条规则。
是我还是做真正简单的事情真的很复杂? 我错过了什么吗?
感谢
编辑:为了澄清我的观点是我的规则1 & 2:
<record model="ir.rule" id="project_task_user_rule">
<field name="name">Project/task: user: read others tasks</field>
<field name="model_id" ref="project.model_project_task"/>
<field name="domain_force">[('user_id','not in',[user.id])]</field>
<field name="groups" eval="[(4,ref('project.group_project_user'))]"/>
<field eval="1" name="perm_read"/>
<field eval="0" name="perm_write"/>
<field eval="0" name="perm_create"/>
<field eval="0" name="perm_unlink"/>
</record>
<record model="ir.rule" id="project_task_user_rule">
<field name="name">Project/task: user: RW rights on his tasks</field>
<field name="model_id" ref="project.model_project_task"/>
<field name="domain_force">[('user_id','=',user.id)]</field>
<field name="groups" eval="[(4,ref('project.group_project_user'))]"/>
<field eval="1" name="perm_read"/>
<field eval="1" name="perm_write"/>
<field eval="0" name="perm_create"/>
<field eval="0" name="perm_unlink"/>
</record>
在这种情况下,用户只能看到自己的任务,并可以对其进行修改。 如果我把第二条规则放在第一条规则上,用户可以看到所有的任务,但不能编辑任何,不属于他自己的。
如果是这样的话,为什么在我的情况下,用户只能看到他的任务有正确的权限,如果我把第二条规则放在XML中的第一条规则上,那么他能够看到所有的任务,但不能够写任何东西,既不是他自己的任务? – PiTyFox
顺便说一句,在你的例子中,你确实有两个不同的组和全局规则。就我而言,这两条规则适用于同一个project.group_project_user。 – PiTyFox