I need to remove (or make invisible) a menu item. I guess this should be done with an inherit and xpath.
But I'm not sure which name, model and inherit_id I should use. Where can I find the correct values for these?
I also don't know how to use xpath correctly for this. As far as I know, there are only expressions for pages, groups and fields? (http://www.odoo.yenthevg.com/xpath-expressions-in-odoo-8/)
The menu that has to be removed is Product Variants:
In addons/product/product_view.xml I found something that might have to do with it.
Line 1:
<menuitem id="base.menu_product" name="Product Variants" parent="base.menu_base_partner" sequence="9"/>
line 444-446:
<menuitem action="variants_action"
id="menu_variants_action"
parent="product.prod_config_main" sequence="10" />
The way I tried to make the menu item invisible in my own views.xml:
<record model="ir.ui.view" id="menuproductvariants_inherit">
<field name="name">name">product.prod_config_main</field>
<field name="model">base.menu_product</field>
<field name="inherit_id" ref="product.product_template_only_form_view" />
<field name="arch" type="xml">
<xpath expr="//menuitem[@string='Product Variants']" position='replace'>
<menuitem name=""/>
</xpath>
</field>
</record>
The error it gives:
ParseError: "ValidateError
Field(s) `arch` failed against a constraint: Invalid view definition
Error details:
Element '<xpath expr="//menuitem[@string='Product Variants']">' cannot be located in parent view
Error context:
View `name">product.prod_config_main`
[view_id: 971, xml_id: n/a, model: base.menu_product, parent_id: 257]" while parsing /root/git/odoo/modulesdewieuw/dewieuw/views.xml:59, near
<record model="ir.ui.view" id="menuproductvariants_inherit">
<field name="name">name">product.prod_config_main</field>
<field name="model">base.menu_product</field>
<field name="inherit_id" ref="product.product_template_only_form_view"/>
<field name="arch" type="xml">
<xpath expr="//menuitem[@string='Product Variants']" position="replace">
<menuitem name=""/>
</xpath>
</field>
</record>
Edit: After the tips on making a new group I tried it. I've created a group "verborgenmenus" and added a user to it.
In my xml I just put this, somewhere:
<menuitem id="base.menu_product" name="Product Variants" parent="base.menu_base_partner" sequence="9" groups="verborgenmenus"/>
It gives me the following error:
raise ValueError('External ID not found in the system: %s' % (xmlid))
ParseError: "External ID not found in the system: dewieuw.verborgenmenus" while parsing /root/git/odoo/modulesdewieuw/dewieuw/views.xml:34, near
<menuitem id="base.menu_product" name="Product Variants" parent="base.menu_base_partner" sequence="9" groups="verborgenmenus"/>
What is wrong in my code?
Edit: I got it how I wanted by just removing the users from the group Usability/Technical Features.