如何根据XML文件中的条件更改字段名称?
我的代码是:
<field name="parent_id" position="attributes">
<attribute name="string">{'HOD':[('is_student','=',True)]}</attribute>
</field>
如果字段 is_student 为True,则显示 HOD ,否则仅保留为 Manager 。
如何实现它?
答案 0 :(得分:1)
由于我无法在XML文件中执行,因为如果我尝试@Odedra解决方案,我的设计会受到干扰。
我用这段代码实现了它:
def fields_get(self, cr, uid, fields=None, context=None):
if context is None:
context={}
res = super(hr_employee, self).fields_get(cr, uid, fields, context)
if 'parent_id' in res and 'is_student' in context and context['is_student']:
if 'string' in res['parent_id']:
res['parent_id']['string'] = 'HOD'
return res
答案 1 :(得分:0)
尝试使用此代码:
替换以下代码
<field name="parent_id" position="attributes">
<attribute name="string">{'HOD':[('is_student','=',True)]}</attribute>
</field>
与
<field name="parent_id" position="replace">
<div>
<label for="parent_id" attrs="{'invisible': ['is_student','=',False)]}">
<label for="parent_id" string="HOD" attrs="{'invisible': ['is_student','=',True)]}">
<field name="parent_id">
</div>
</field>