This question has been flagged
3 Replies
5812 Views

I want to hide columns in tree view and I use the codes below, yes the columns got invisible but does not read the condition. any advise ? 

                <field name="vat_no"  invisible="context.get('export',True)"  />
                <field name="vat_no_exp"  invisible="context.get('local',True)"  />

Avatar
Discard
Best Answer

You Can try using fields_view_get method

Avatar
Discard
Best Answer

 

     from lxml import etree

     def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
         res = super([class_name],self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context,                                                                                                                                              toolbar=toolbar, submenu=submenu)
        doc = etree.XML(res['arch'])
         if view_type == 'tree':
             if context.get(''export',False):
                 for node in doc.xpath("//field[@name='vat_no']"):
                     node.set('invisible', '1')

             if context.get(''local',False):
                 for node in doc.xpath("//field[@name='vat_no_exp']"):
                     node.set('invisible', '1')
        return res

Avatar
Discard
Best Answer

hi,

I think you just need to change as like below.

                <field name="vat_no"  invisible="context.get('export',False)"  />
                <field name="vat_no_exp"  invisible="context.get('local',False)"  />

Avatar
Discard