在OpenERP 6.1中创建菜单项时,访问规则禁止的操作

时间:2013-02-19 00:52:57

标签: python openerp

当我尝试创建一个新菜单项以在OpenERP 6.1中打开一个窗口时,我收到以下错误:

  

AccessError

     

访问规则禁止的操作,或对已删除的文档执行的操作(操作:创建,文档类型:ir.values)。

我总是可以使用绕过所有安全检查的魔术管理员帐户,但如果可能的话,我宁愿进行更好的控制。为什么会失败,我如何允许一些管理员创建菜单项?

我特别感兴趣,因为我想写一个创建菜单项的模块。

1 个答案:

答案 0 :(得分:2)

经过一堆挖掘,我找到了错误的原因。有一条记录规则称为“默认值:仅改变个人价值”。这已在revision 3560.1.7中添加,并在revision 3713中合并。提交评论说:

  

[IMP] ir.values:提高安全性:用户只能写入他们的个人默认值

     

需要管理员访问权限才能设置默认值   每个人,以及改变动作绑定。

您似乎只能使用魔术管理员帐户更改操作绑定,更改菜单项需要您更改操作绑定。

你怎么解决这个问题?那么,你可以使记录规则更复杂。您需要限制大多数用户编辑自己的默认值,并让管理用户编辑ir_values表中的所有记录。我们所有的用户都在人力资源/员工组中,因此我将该组添加到“默认值:仅限个人值”规则中,以阻止其成为全局规则。然后我为ir_values添加了一个名为“默认值和操作:更改任何值”的新规则。我使用了虚拟域过滤器:[(1,'=',1)]并将其分配给管理/配置组。现在大多数用户只匹配第一个规则,只能编辑自己的默认值。配置组中的任何人都将匹配这两个规则,因此规则将与OR组合,并且他们将能够编辑表中的所有记录。使这项工作变得重要的是,您需要一组或一组所有用户都是其成员。