Skip to content

Commit 8918109

Browse files
authored
fix device._name ordering (#147)
1 parent f56eb98 commit 8918109

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

validity/netbox_changes/current.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
# NetBox 4.2
22
from .old import *
3+
4+
5+
DEVICE_NAME_ORDER = "name"

validity/netbox_changes/oldest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66

77

88
QUEUE_CREATE_ACTION = "create"
9+
DEVICE_NAME_ORDER = "_name"

validity/tables.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from utilities.templatetags.builtins.filters import isodatetime
1717

1818
from validity import models
19+
from validity.netbox_changes import DEVICE_NAME_ORDER
1920
from validity.templatetags.validity import colorful_percentage
2021

2122

@@ -233,7 +234,11 @@ def render(self, value):
233234

234235
class ComplianceReportDeviceTable(BaseTable):
235236
device = TemplateColumn(
236-
order_by=("_name",), template_code=DEVICE_LINK, linkify=True, accessor="name", attrs={"th": {"class": "col-2"}}
237+
order_by=(DEVICE_NAME_ORDER),
238+
template_code=DEVICE_LINK,
239+
linkify=True,
240+
accessor="name",
241+
attrs={"th": {"class": "col-2"}},
237242
)
238243
compliance_passed = BooleanColumn(
239244
verbose_name=_("Compliance Passed"),

validity/tests/test_views.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,11 @@ def test_get_serialized_state(admin_client, item, monkeypatch):
166166
assert resp.status_code == HTTPStatus.OK
167167

168168

169+
@pytest.mark.parametrize("query_params", [{}, {"sort": "device"}, {"sort": "-device"}])
169170
@pytest.mark.django_db
170-
def test_report_devices(admin_client):
171+
def test_report_devices(admin_client, query_params):
171172
report = ReportFactory(passed_results=4, failed_results=2)
172-
resp = admin_client.get(f"/plugins/validity/reports/{report.pk}/devices/")
173+
resp = admin_client.get(f"/plugins/validity/reports/{report.pk}/devices/", query_params)
173174
assert resp.status_code == HTTPStatus.OK
174175

175176

0 commit comments

Comments
 (0)