我创建了名为hr_th的模块,其安全组“group_thw_emp”我有字段“employee_id”,这是很多2字段引用hr_employee类。我尝试在我的xml中使用代码
<field name="employee_id" attrs= "{'readonly': [('groups','=','hr_th.group_thw_emp')]}"/>
但我得到错误:
Uncaught Error: Unknown field groups in domain [['groups','=','hr_th.group_thw_emp']]
这是一个有点棘手的问题。理想情况下你会做类似的事情
attrs = {'readonly': [('employee_id.groups', 'contains', 'hr_th.group_thw_emp')]}
但据我所知你不能这样做。我不相信属性表达式求值程序支持包含。
我解决它的方法是扩展或更改模型并添加一个功能字段,如果员工是您想要的组的成员并且像这样使用它,则返回true。
<field name="employee_is_in_thw_emp" invisible="1" />
<field name="employee_id" attrs="{'readonly': [('employee_is_in_thw_emp', '=', True)]}" />
这不是很好,因为你最终可能会有很多功能领域,但我还没有找到更好的方法。