Help

3

How to hide a button in tree view?

Avatar
John

I need to hide a button in tree view(one2many) but only in non-editable mode. I have tried class="oe_edit_only" but it doesn't work.


NOTE : I need to hide only in non-editable mode NOT in editable mode. Please don't suggest and mark invisible = "1" as correct answer.
Any help would be appreciated.
Thank You :)

2 Comments
Avatar
Discard
Avatar
Gabriel
-

That's a good question, I have de same problem. Could you find a solution?

Avatar
Gabriel
-

A related bug is referenced: https://bugs.launchpad.net/openerp-web/+bug/1311199

4 Answers
3
Avatar
Yogesh
Best Answer

It is not perfect solution but work around to what you want to achieve:
Odoo gives us two classes

  1. 'oe_edit_only' : to show element in edit mode only
  2. 'oe_read_only' : to show element in read mode only

so I defined a duplicate field of my one2many field and show that in only read mode and original only in edit mode.
Note: we can not use same field in xml more than one time because odoo populates value only in lastly defined field. all previous fields with same name remain blank.
 

2 Comments
Avatar
Discard

+1

Avatar
Andres Brigard
-

I have tried with field and buttons in tree view inside a form of the parent entity and none of them are hidden in read mode.

<field name="status_acta" class="oe_edit_only"/>

<button name="pickup_units" type="object" string="Pick Up" class="oe_edit_only" attrs="{'invisible':['|','|', ('type','!=','acta_ant'),('activo','=',False),('status_acta','!=','sent')]}"/>

1
Avatar
Giovanny Vizcaya
Best Answer

Try writting invisible="True" in the button xml line, i think it works

Avatar
Discard
1
Avatar
John
Best Answer

@Giovanny: I wanted to leave comment but this website is not allowing me to do so. but with your solution button will be hidden permanently. I need to hide only in Non-Editable mode.
 

Avatar
Discard
0
Avatar
Timothy Stonis
Best Answer

You can pass the class to the template by finding the button template "ListView.row.button" in addons/web/static/src/xml/base.xml. Just add "#{widget.class}" to the button t-attf-class attribute. 

Avatar
Discard