使用不同的CRUD选项记录相同对象的规则?

时间:2014-02-20 09:02:33

标签: python openerp record crud access-rights

我需要在同一个对象上应用不同的记录规则,根据记录的状态给出不同的访问权限。 例如,有三个阶段:stage1,stage2,stage3。

在具有特定访问权限组的第一阶段用户可以执行此操作:

读,写,创建自己的记录。当他按下按钮进入第2阶段时,他只能读取该记录(如果该记录将返回到第1阶段 - 不是由该用户,那么他可以做以前的事情)。在第3阶段,用户没有看到任何记录,也没有看到他或任何其他记录。

我尝试过这样的事情:

第一条规则(适用r,w,c):

[('user_id','=',user.id)]

这个有效。 但是在进入其他阶段时我会遇到问题。 我试图创建另一个规则2(适用于r):

[('stage','=','stage2')] 但它不起作用,用户仍然可以做任何他可以在stage1中做的事情。

如果我像这样制定规则(适用r,w,c):

['|', ('user_id','=',user.id),('stage','=','stage1')]

然后它会提供您无法进入下一阶段的访问权限错误,因为您在该阶段没有读取权限。 怎么解决这个问题?..

1 个答案:

答案 0 :(得分:0)

这似乎有效:

需要创建两个规则(适用r,w,c):

['&', ('user_id','=',user.id),('state','=','stage1')]

第二条规则(适用于r):

[('stage','=','stage2')]