如果用户不属于人力资源,我试图让一个组在视图中不可见...这是过滤组的多个条件的一部分,这是最基本的一个,这是在窗体视图上:
attrs="{'invisible':[('groups_id.category_id.name','=','Human Resource')]}"
然而,这会产生错误:
Uncaught Error: Unknown field groups_id.category_id.name
如果我使用
attrs="{'readonly':[('groups_id.category_id.name','=','Human Resource')]}"
该错误未发生但似乎没有做任何事情......
即使attrs="{'readonly':[('1','=','1')]}"
似乎没有做任何事情。
如果我添加<group invisible="1"
它按预期工作。
为什么不隐形工作?此外,如果我在除了不可见之外的attrs中键入任何内容,它似乎解析XML而没有问题...
答案 0 :(得分:4)
问题是客户评估了attrs,这意味着没有浏览记录,客户端无法解析groups_id.category_id ... Attrs只能在客户可用的字段上工作,因此请扩展模型并添加相关字段。将它放在视图上,其中invisible = 1,这样用户就不会看到它并在你的attrs上使用这个字段。
答案 1 :(得分:2)
据我所知,在attrs
中,您只能通过OpenERP basic "domain"
。
域由Web客户端解析。这会强制您在视图事件中使用域中的所有字段(如果未显示),它们必须是不可见的字段。
域值必须是静态的。
attrs = "{'readonly': [('my_filed_must_be_in_view', '=', 'static_value')]}"
您不能使用复杂功能或服务器相关代码,范围仅限于视图。
答案 2 :(得分:0)
是的,我们不能在这里使用对象字段关系来获取ATTRS中的值虽然我们可以在DOMAIN中使用这种功能!