تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
4 الردود
8436 أدوات العرض

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
ديسمبر 23
12759
3
يوليو 22
23144
2
يونيو 21
18580
0
سبتمبر 20
3731
0
فبراير 17
2930