我需要在同一个对象上应用不同的记录规则,根据记录的状态给出不同的访问权限。 例如,有三个阶段: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')]
然后它会提供您无法进入下一阶段的访问权限错误,因为您在该阶段没有读取权限。 怎么解决这个问题?..
答案 0 :(得分:0)
这似乎有效:
需要创建两个规则(适用r,w,c):
['&', ('user_id','=',user.id),('state','=','stage1')]
第二条规则(适用于r):
[('stage','=','stage2')]