跳至内容
菜单
此问题已终结
4 回复
8434 查看

HELLO GUYS:

I want to make a field invisble in the view xml.

I want to create function and call the function in my wml and there decide if the field will be invisible or not just like with DOMAIN.

Can anyone help me know how to realise that.

Thanks a lot ;)

形象
丢弃

post your code , that you have done so far

最佳答案

Hi Dress 

Try using this as example :

def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):

if not context: context = {}

res = super(your_class_name, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)

#call your_function_here

doc = etree.XML(res['arch'])

if your_function_condition :

    nodes_your_field_name = doc.xpath("//field[@name='your_field_name']")

    for node in nodes_your_field_name:

    node.set('invisible', 'True')

res['arch'] = etree.tostring(doc)

return res


Don't forget to import the library

from lxml import etree

形象
丢弃
编写者 最佳答案

Here is the XML code.

                                        <field name="structure_salariale" on_change="onchange_structure(structure_salariale,type_id)" attrs="{'invisible':[('name_contract','in', ['Mandataire','SIVP'])], 'required':[('name_contract','not in', ['Mandataire','SIVP'])]}"/>

But, i want to use a function to controle this not in xml.

But, question is can we use function with invisible attribute

形象
丢弃

override the fields_view_get of the model

相关帖文 回复 查看 活动
2
12月 23
12758
3
7月 22
23144
2
6月 21
18578
0
9月 20
3730
0
2月 17
2930