如何根据xml文件中的条件更改字段名称?

时间:2016-01-29 06:23:52

标签: openerp openerp-7 odoo-8 openerp-8

如何根据XML文件中的条件更改字段名称?

我的代码是:

<field name="parent_id" position="attributes">    
    <attribute name="string">{'HOD':[('is_student','=',True)]}</attribute>    
</field>

如果字段 is_student 为True,则显示 HOD ,否则仅保留为 Manager

如何实现它?

2 个答案:

答案 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>