Skip to Content
Menu
This question has been flagged
6 Replies
3921 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
0
Jun 24
266
0
Mar 24
235
2
Jan 24
331
1
Feb 23
1702
1
Jan 23
3148