mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-13 13:53:31 +01:00
User configurable default filters for tables #5916
Closed
opened 2025-12-29 19:34:11 +01:00 by adam
·
12 comments
No Branch/Tag Specified
main
21102-fix-graphiql-explorer
update-changelog-comments-docs
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
No Label
type: feature
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#5916
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jasonyates on GitHub (Jan 10, 2022).
NetBox version
3.1.5
Feature type
New functionality
Proposed functionality
Allow the Netbox administrator and/or logged in user to configure default filters for tables.
This could link with #7759
Use case
In some situations it could be beneficial to have administrator defined (or user defined) default filters for certain tables. My use case specifically is with Circuits. We recently migrated all of our circuit data from an in-house tool over to Netbox including historical data. As it stands, we have 300+ circuits however only ~150 are currently active. 9/10 I'm only looking in Netbox for active circuit information so it would be useful to have a default filter applied to that table to only show Active circuits.
Database changes
No response
External dependencies
No response
@sdktr commented on GitHub (Jan 11, 2022):
Related to userfavorites https://github.com/netbox-community/netbox/issues/8248 ?
@jeremystretch commented on GitHub (Jan 14, 2022):
I find it difficult to imagine the workflow for this. For example, what happens if a user clears any applied filters? Would that clear all filters, or would it restore their default set? How would you distinguish between the two.
Maybe instead of having a default, we could allow users to define and save filter presets, and NetBox would just remember the last-used preset. I'm not sure exactly what a preset would look like, but it would really only need to map a user and object type to a JSON dict of applied filters, with a descriptive name. If this sounds reasonable I can put some more thought into it and open a new FR.
@jasonyates commented on GitHub (Jan 15, 2022):
In my mind if a user was to clear filters, it would clear them as opposed to restoring to the admin defined default. The intention isn't to stop users getting to data, it's to guide them to the most relevant data by pre-loading a filter.
This works too. Perhaps once you have a filter created, on the applied filters section the ability to save it as a default view (and clear it) would be a good first step. If there was the ability to save filters via the API too then I could leverage that to apply a filter for my users thus rending the "admin default" not required.
@jeremystretch commented on GitHub (Jan 15, 2022):
Right, but how would you convey that in the UI? For example, if I have a default filter set for sites and I navigate to
/dcim/sites/, is it going to apply the default filter? If so, what query parameters would I specify to not apply the filter? I'd want to avoid doing anything to declare a negative (e.g.?default_filter=False).@jasonyates commented on GitHub (Jan 15, 2022):
Why would you need an option to not apply the filter with a query parameter? As a netbox administrator i'm trying to reduce some of the noise within the application for the majority of my users. In my example for the FR, the data we store around circuits is crucial and we have a genuine use case for keeping historical circuit data (billing disputes months after disconnect etc) but the number of people that need to access that historical data is small compared to our user base.
What i'm proposing is to allow me as an administrator of the system to define a default filter and have that automatically applied for all users when they first visit a table view e.g. /dcim/circuits/ - If a user wants to remove the filter to see all of the data they just clear it as they normally would had they defined it themselves e.g.
@Ryujn91 commented on GitHub (Jan 16, 2022):
I have a similar use / need for functionality like this.
Ours is specific to sites / devices. we have hundreds of branches but typically this is fairly static data so is not needed as often, however the DC's are much more dynamic. having a mechanism where when loading these pages it applies a default filter to display a specific site but users were still free to filter anyway they needed.
This just helps to remove noise from the off, i'm not sure how it would be implemented but just thought id second the desire to see such functionality.
@github-actions[bot] commented on GitHub (Mar 18, 2022):
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. Please see our contributing guide.
@jeremystretch commented on GitHub (Apr 6, 2022):
Sorry, this fell off my radar.
Consider the screenshot above. Presumably, this is what the user sees when visiting
/circuits/circuits/, without specifying any filters (because they've been defined as defaults). So what happens when they want to deactivate the default filter(s)? You can't just return to the default URL; you need some way to declare that the default filter should no longer be applied.One solution would be to redirect the user to a URL with the default filters applied. For example, navigating to
/circuits/circuits/would return a 302 redirect pointing to/circuits/circuits/?status=active. I'm not sure if that would become problematic.@github-actions[bot] commented on GitHub (Jun 7, 2022):
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. Please see our contributing guide.
@UlrikNN commented on GitHub (Jun 22, 2022):
Hi, We would love this functionality :) We are looking to keep our history in the database by tagging deleted/scrapped items as "Deleted" A default, user clearable filter would ensure thet a user normally sees "live" stuff but still can show historical entities when need arises. Hope this posting avoids the "pending closure" status ;)
Looking forward to any responses!
@jeremystretch commented on GitHub (Jun 28, 2022):
IMO #9623 (also opened by @jasonyates) is a more preferable approach to this use case, as it would likely be less error-prone.
@jeremystretch commented on GitHub (Jul 7, 2022):
I'm going to close this FR in favor of #9623, both for the implementation problem I cited above and because IMO the proposal in #9623 would be more powerful.