Przeglądaj źródła

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

jeremystretch 2 lat temu
rodzic
commit
bca9d0fa8a

+ 1 - 0
docs/release-notes/version-3.5.md

@@ -7,6 +7,7 @@
 * [#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
 * [#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
 

+ 3 - 2
netbox/extras/dashboard/widgets.py

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

+ 2 - 4
netbox/templates/extras/dashboard/widgets/objectcounts.html

@@ -1,10 +1,8 @@
-{% load helpers %}
-
 {% if counts %}
   <div class="list-group list-group-flush">
-    {% for model, count in counts %}
+    {% for model, count, url in counts %}
       {% 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">
             {{ model|meta:"verbose_name_plural"|bettertitle }}
             <h6 class="mb-1">{{ count }}</h6>