1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #12599: Apply filter parameters to links in object count dashboard widgets

This commit is contained in:
jeremystretch
2023-05-30 16:31:34 -04:00
parent 9b8ab1c1f7
commit bca9d0fa8a
3 changed files with 6 additions and 6 deletions

View File

@ -7,6 +7,7 @@
* [#12470](https://github.com/netbox-community/netbox/issues/12470) - Collapse context data by default when viewing a rendered device configuration * [#12470](https://github.com/netbox-community/netbox/issues/12470) - Collapse context data by default when viewing a rendered device configuration
* [#12562](https://github.com/netbox-community/netbox/issues/12562) - Record client IP address when logging authentication failures * [#12562](https://github.com/netbox-community/netbox/issues/12562) - Record client IP address when logging authentication failures
* [#12597](https://github.com/netbox-community/netbox/issues/12597) - Add an option to hide custom fields only if unset * [#12597](https://github.com/netbox-community/netbox/issues/12597) - Add an option to hide custom fields only if unset
* [#12599](https://github.com/netbox-community/netbox/issues/12599) - Apply filter parameters to links in object count dashboard widgets
### Bug Fixes ### Bug Fixes

View File

@ -174,10 +174,11 @@ class ObjectCountsWidget(DashboardWidget):
params.update(filters) params.update(filters)
filterset = getattr(resolve(url).func.view_class, 'filterset', None) filterset = getattr(resolve(url).func.view_class, 'filterset', None)
qs = filterset(params, qs).qs qs = filterset(params, qs).qs
url = f'{url}?{params.urlencode()}'
object_count = qs.count object_count = qs.count
counts.append((model, object_count)) counts.append((model, object_count, url))
else: else:
counts.append((model, None)) counts.append((model, None, None))
return render_to_string(self.template_name, { return render_to_string(self.template_name, {
'counts': counts, 'counts': counts,

View File

@ -1,10 +1,8 @@
{% load helpers %}
{% if counts %} {% if counts %}
<div class="list-group list-group-flush"> <div class="list-group list-group-flush">
{% for model, count in counts %} {% for model, count, url in counts %}
{% if count != None %} {% if count != None %}
<a href="{% url model|viewname:"list" %}" class="list-group-item list-group-item-action"> <a href="{{ url }}" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between align-items-center"> <div class="d-flex w-100 justify-content-between align-items-center">
{{ model|meta:"verbose_name_plural"|bettertitle }} {{ model|meta:"verbose_name_plural"|bettertitle }}
<h6 class="mb-1">{{ count }}</h6> <h6 class="mb-1">{{ count }}</h6>