Skip to Content
Menu
This question has been flagged
6 Replies
4816 Views

Hi,

I spend my morning to find out how to disable the Inventory tab from the products form.

If I know how to hide fields and menus, I never did it before for a tab.

Would anyone give me some tips ?

Thanks

Avatar
Discard
Best Answer

Hi,

You can try this,

<record id="product_in_customer22" model="ir.ui.view">   
   <field name="name">product.template.view</field>
    <field name="model">product.template</field>
    <field name="inherit_id" ref="product.product_template_only_form_view"/>
   <field name="arch" type="xml">
         <xpath expr="//page[2]" position="attributes">
        <attribute name="invisible">1</attribute>
        </xpath>

  </field>
</record>

Thanks

Avatar
Discard
Author

Thanks. Can you precise how to get the page[2] ?

what ?

just try the same , page[2] is the position of the inventory tab

Author

Nice job, that works :)

Yep! Do watch out with doing [2] though. If you would ever make other inherits and add pages before the second page then [2] would actually remove another page than what is now your second page. ;)

Author

Thanks for that precision Yenthe,

Could you precise how to get the techncial_page_name and avoid this kind of possible future mistake ?

Best Answer

HI Silvere,

You can simply inherit the view and then make an xpath to remove the tab from the view. An example inherit with an xpath on the tab:

<record id="view_product_template_form_inherit" model="ir.ui.view">

<field name="name">product.template.form.inherit</field> <field name="model">your.model</field> <field name="type">form</field> <field name="inherit_id" ref="module.view_name"/> <field name="arch" type="xml"> <xpath expr="//page[@name='technical_page_name']" position="replace"/> </field> </record>

Regards,
Yenthe

Avatar
Discard
Author

Thanks Yenthe.

Could you precise me how to find the technical_page_name ?

Best Answer

Hi 

you can use this code Xml 


<record id="view_product_template_form_inherit" model="ir.ui.view">

<field name="name">product.template.form.inherit</field> <field name="model">your.model</field> <field name="type">form</field> <field name="inherit_id" ref="product.product_template_form_view"/> <field name="arch" type="xml"> <xpath expr="//page[@string='inventory']" position="replace"/> </field> </record>


or

<record id="view_product_template_form_inherit" model="ir.ui.view">

<field name="name">product.template.form.inherit</field> <field name="model">your.model</field> <field name="type">form</field> <field name="inherit_id" ref="product.product_template_form_view"/> <field name="arch" type="xml"> <page string=inventory" position="replace"/> </field> </record>

Avatar
Discard
Author

Thanks for that :)

Actually, this wouldn't work at all. Using @string decorators in xpaths has been deprecated in V10 and up so this would give a traceback.

ok thank Yenthe

Related Posts Replies Views Activity
1
Aug 25
613
0
Jun 24
1936
0
Mar 24
2050
2
Jan 24
2380
1
Feb 25
3592