Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
6 Odpowiedzi
4811 Widoki

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

Awatar
Odrzuć
Najlepsza odpowiedź

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

Awatar
Odrzuć
Autor

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

what ?

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

Autor

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. ;)

Autor

Thanks for that precision Yenthe,

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

Najlepsza odpowiedź

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

Awatar
Odrzuć
Autor

Thanks Yenthe.

Could you precise me how to find the technical_page_name ?

Najlepsza odpowiedź

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>

Awatar
Odrzuć
Autor

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

Powiązane posty Odpowiedzi Widoki Czynność
1
sie 25
608
0
cze 24
1931
0
mar 24
2046
2
sty 24
2376
1
lut 25
3587