Skip to Content
Menu
v 18.0 Third Party 12765
Download for v 18.0 Deploy on Odoo.sh
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 90
Technical Name hide_menu_user
LicenseLGPL-3
Websitehttps://www.cybrosys.com
Versions 14.0 15.0 16.0 17.0 18.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 90
Technical Name hide_menu_user
LicenseLGPL-3
Websitehttps://www.cybrosys.com
Versions 14.0 15.0 16.0 17.0 18.0
Supports:
Community
Enterprise
Availability:
On Premise
Odoo.sh
Odoo Online

This Module Helps To Hide any Menu items user wise.

Hide Any Menu User Wise

Email Us Skype Us +91 9074270811

Blog and Video Details

Read Blog

Read Our Detailed Blog

https://www.cybrosys.com/blog/how-to-hide-specific-menus-for-individual-users-in-odoo-18

Video Tutorial

Watch Detailed Demo on Youtube

Watch Demo
Hide Any Menu User Wise

Are you ready to make your business more organized?
Improve now!

odoo@cybrosys.com +91 9074270811

Key Highlights

Compatible

Available in Odoo 18.0 Community and Enterprise.

Easiness

Easily hide any menu/submenu items user-wise.

acc_bg

Sale Order Menu

Before adding the hide menu option you can see the Specific Menu.

Create New Hide Specific Menu

Go to Settings > Users and there you can see the 'Hide Specific Menu' tab where you can select any Menu/Submenu that needs to be hidden to the selected user.

Select Menu

Click on 'Add a line' and select the menus that needs to be hidden for this user.

As you can see the menus and corresponding views are now hidden for the user.

Available in Odoo 17.0 Community and Enterprise

Easily hide any menu/submenu items user-wise.

Yes, you can. When you hide a menu for a user, the system automatically updates the restricted user list for that menu. You can hide the same menu for multiple users by selecting it in each user's form.

No, by default, admin users will still have access to all menus. There is a feature that checks if a user is an admin, and the "Hidden Menu" field will not be available for admins.

Yes, you can hide both submenus and parent menus. However, you need to manually select each menu (parent or child) that you want to hide.

Latest Release 18.0.1.0.0

01st October, 2024
Add
  • Initial Commit

Our Services

....

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
LogIn error with portal user.
by
Pratik Devmurari
on 5/28/25, 3:09 AM

Bellow error faced while log-in with portal user:
Error message:

You are not allowed to access 'Menu' (ir.ui.menu) records.

This operation is allowed for the following groups:
	- Administration/Settings
	- User types/Internal User

Contact your administrator to request access if necessary.



Simple and works well
by
Andrew Rogers
on 3/19/25, 3:58 AM

Thank you!


correction in v16,v17,v18
by
dev.said.kraim@gmail.com
on 5/12/25, 4:15 AM

ir.ui.menu model and create an ir.rule for it, but there's an issue with how Odoo handles security rules for this particular model.

donc: 

1- delete rule: 

<record id="restrict_menu_user" model="ir.rule"> <field name="name">Restrict Menu from Users</field> <field ref="model_ir_ui_menu" name="model_id"/> <field name="domain_force">[('restrict_user_ids', 'not in', [user.id])]</field> 

</record>

2- you should override the _filter_visible_menus method of the menu model to implement your restriction logic

@api.model
    def _filter_visible_menus(self, menus):
        """ Override to filter out menus restricted for current user """
        menus = super(RestrictMenu, self)._filter_visible_menus(menus)
        
        if self.env.user.has_group('base.group_system'):
            return menus  # Superuser can see all menus
            
        # Filter out menus where current user is in restrict_user_ids
        menu_ids = menus.ids
        restricted_menu_ids = self.search([
            ('id', 'in', menu_ids),
            ('restrict_user_ids', 'in', [self.env.user.id])
        ]).ids
        
        return menus.filtered(lambda m: m.id not in restricted_menu_ids)

Re: correction in v16,v17,v18
by
Cybrosys Technologies
on 5/21/25, 2:19 AM Author

Thanks for reporting. We have updated the app in all three versions.


Looks like it works.
by
purejosh
on 1/13/25, 5:59 PM

Haven't tested hiding a menu, but it shows up under the user's profile, so that's a good sign. 


not working in v18
by
yodalberth peña baez
on 12/14/24, 9:09 PM

When trying to install it I get the following error:  

while parsing /tmp/tmpqd_tut2i/hide_menu_user/security/security.xml:4, somewhere inside <record id="ir_ui_menu_rule_user" model="ir.rule"> <field name="name">Restrict Menu from Users</field> <field name="model_id" ref="model_ir_ui_menu"/> <field name="domain_force">[('restrict_user_ids','not in',user.id)]</field> </record>

Re: not working in v18
by
Cybrosys Technologies
on 2/6/25, 5:19 AM Author

Sorry, We were not able to reproduce the issue you mentioned.


Following ur guide but does't working in v17!!
by
storm
on 12/5/24, 10:42 PM


Re: Following ur guide but does't working in v17!!
by
Cybrosys Technologies
on 12/6/24, 1:29 AM Author

Are you using v18 or v17?