Ability to hide core functionality menu items #3636

Closed
opened 2025-12-29 18:30:17 +01:00 by adam · 2 comments
Owner

Originally created by @kamfaima on GitHub (May 5, 2020).

Environment

  • Python version: NA
  • NetBox version: NA

Proposed Functionality

Ability to hide or display certain core functionality menu items. This could possibly be extended to hiding sub-menus in each of those core areas.

Use Case

There will undoubtedly be times where certain tools contain functionality that overlap with others. For instance, we don't plan on storing secrets in Netbox as we already have a 3rd-party tool to do this. To enforce this, I propose simply hiding the Secrets menu from the core functionality menu so users won't be physically able to use Secrets. This will eliminate duplicate information being stored in two different tools.

It has been proposed in the Netbox user group that we can simply not grant the permissions to those menus. While this works, the menu item still appears but none of its elements are selectable. This can raise more questions like why is it there but not selectable. I would think it's better to simply not display the menu item altogether to remove this confusion.

Database Changes

None that I know of.

External Dependencies

None that I know of.

Originally created by @kamfaima on GitHub (May 5, 2020). <!-- NOTE: IF YOUR ISSUE DOES NOT FOLLOW THIS TEMPLATE, IT WILL BE CLOSED. This form is only for proposing specific new features or enhancements. If you have a general idea or question, please post to our mailing list instead of opening an issue: https://groups.google.com/forum/#!forum/netbox-discuss NOTE: Due to an excessive backlog of feature requests, we are not currently accepting any proposals which significantly extend NetBox's feature scope. Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: NA * NetBox version: NA <!-- Describe in detail the new functionality you are proposing. Include any specific changes to work flows, data models, or the user interface. --> ### Proposed Functionality Ability to hide or display certain core functionality menu items. This could possibly be extended to hiding sub-menus in each of those core areas. <!-- Convey an example use case for your proposed feature. Write from the perspective of a NetBox user who would benefit from the proposed functionality and describe how. ---> ### Use Case There will undoubtedly be times where certain tools contain functionality that overlap with others. For instance, we don't plan on storing secrets in Netbox as we already have a 3rd-party tool to do this. To enforce this, I propose simply hiding the Secrets menu from the core functionality menu so users won't be physically able to use Secrets. This will eliminate duplicate information being stored in two different tools. It has been proposed in the Netbox user group that we can simply not grant the permissions to those menus. While this works, the menu item still appears but none of its elements are selectable. This can raise more questions like why is it there but not selectable. I would think it's better to simply not display the menu item altogether to remove this confusion. <!-- Note any changes to the database schema necessary to support the new feature. For example, does the proposal require adding a new model or field? (Not all new features require database changes.) ---> ### Database Changes None that I know of. <!-- List any new dependencies on external libraries or services that this new feature would introduce. For example, does the proposal require the installation of a new Python package? (Not all new features introduce new dependencies.) --> ### External Dependencies None that I know of.
adam added the status: duplicate label 2025-12-29 18:30:17 +01:00
adam closed this issue 2025-12-29 18:30:17 +01:00
Author
Owner

@jeremystretch commented on GitHub (May 5, 2020):

Duplicate of #426

@jeremystretch commented on GitHub (May 5, 2020): Duplicate of #426
Author
Owner

@createchange commented on GitHub (Aug 21, 2020):

I want to propose a solution to the problem that involves no code changes by the developer. I think you could take this to great lengths with advanced filtering and validation.

You can use uBlock (and other similar extensions) to filter out elements.

As an example implementation, you would construct a query that finds an element with "Secrets", traverse back up X elements until you got to the navbar button, and wipe the things from existence. This would also be supremely easy to do on the dashboard.

The CSS is responsive, so hideous gaps are not left in their wake.

Once you have figured it out on your machine, you would share the config with your users. It's as simple as copying and pasting - screenshots are wonderful.

@createchange commented on GitHub (Aug 21, 2020): I want to propose a solution to the problem that involves no code changes by the developer. I think you could take this to great lengths with advanced filtering and validation. You can use uBlock (and other similar extensions) to filter out elements. As an example implementation, you would construct a query that finds an element with "Secrets", traverse back up X elements until you got to the navbar button, and wipe the things from existence. This would also be supremely easy to do on the dashboard. The CSS is responsive, so hideous gaps are not left in their wake. Once you have figured it out on your machine, you would share the config with your users. It's as simple as copying and pasting - screenshots are wonderful.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#3636