This question has been flagged
2 Replies
13894 Views

I tried using xpath on an inherited tree view but it doesn't change the default value of the attribute optional.

<xpath expr="//field[@name='existing_field']" position="attributes">
<attribute name="optional">hide</attribute>
</xpath>

✅ EDIT: It now works by replacing the field and setting the optional attribute to 'hide'.

<xpath expr="//field[@name='existing_field']" position="replace">
<field name="existing_field" optional="hide"/>
</xpath>
Avatar
Discard
Author

✅ It now works by replacing the field and setting the optional attribute to 'hide'.

<xpath expr="//field[@name='existing_field']" position="replace">

<field name="existing_field" optional="hide"/>

</xpath>

Author Best Answer

✅ It now works by replacing the field and setting the optional attribute to 'hide'.

<xpath expr="//field[@name='existing_field']" position="replace">
<field name="existing_field" optional="hide"/>
</xpath>
Avatar
Discard
Best Answer

That's how you do it, check your xpath and View sequences.

Excerpt from the Odoo v14 native View sale.order.tree:




Avatar
Discard
Author

Hello, Ray! Thank you for taking the time to respond to this. What I was aiming to do is override the attributes of existing fields in a tree view. The field I want to change already has an attribute optional that is set to "show" but I want to "hide" it without replacing the field. Is it possible just to override the attribute?

Yes it is possible and you are doing it the right way. Check all views and their sequences to find the problem.

Author

If I replace the field with nothing, the field disappears. However, if I only change the attribute, it still shows in the view. Should I put this?

<field name="priority" eval="100"/>

try to replace field and add the new field with attribute.

Author

Hello, Hilar! I tried doing what you said and it works after installing the module! Before I tried it, I only override the attribute and not the field itself then installed the module which didn't work. Then, I tried replacing the field itself with the optional attribute set to 'hide' and it now works! Thank you!