Closed markkuleinio closed 1 month ago
Seems like a pretty steep effort-to-value ratio IMO but I've opened this for volunteers.
@abhi1693 are you still planning to work on this?
I think we can add this functionality with the changes of #15876 by simply filtering the generated list of relations by "can view" permissions.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Do not attempt to circumvent this process by "bumping" the issue; doing so will result in its immediate closure and you may be barred from participating in any future discussions. Please see our contributing guide.
This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.
NetBox version
v3.7.3
Feature type
Change to existing functionality
Proposed functionality
Currently the menu items for which the user doesn't have permission are not shown in the main menu.
I'm proposing also omitting the related item groups in the views.
Example: user does not have permission to view IPAM>Services. When the user views a device, there is an empty Services box:
I'm proposing that the empty box is omitted.
At the same time (when viewing the device) a Django warning is logged (provided that
django
logger is configured):I'd expect there would be no PermissionDenied errors in the logs when the users themselves are accessing the views they are permitted to (it's the app that generates the non-permitted attempts in the background, not the user). But this is a side note.
Use case
One major use case for removing the View permissions for models is to improve the user experience for non-admin users: don't show the models (menu items) that are not accessible anyway, or used at all in the specific NetBox implementation. This proposal extends the same idea to the model views (= don't show the boxes that won't be populated anyway, preventing questions like "what does Services mean in our devices, there aren't any").
I believe quite many model views are concerned, examples (potentially non-permitted boxes mentioned):
Database changes
None I think
External dependencies
None