如何在开放erp7中为特定组下的用户创建many2one字段只读?

问题描述 投票:0回答:1

我创建了名为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']]

python security openerp
1个回答
-2
投票

这是一个有点棘手的问题。理想情况下你会做类似的事情

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)]}" />

这不是很好,因为你最终可能会有很多功能领域,但我还没有找到更好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.