diff --git a/netbox/users/tables.py b/netbox/users/tables.py index fd6e050b9..0470fdd0d 100644 --- a/netbox/users/tables.py +++ b/netbox/users/tables.py @@ -24,6 +24,7 @@ class TokenTable(NetBoxTable): token = columns.TemplateColumn( verbose_name=_('token'), template_code=TOKEN, + orderable=False, ) enabled = columns.BooleanColumn( verbose_name=_('Enabled') diff --git a/netbox/users/tests/test_tables.py b/netbox/users/tests/test_tables.py new file mode 100644 index 000000000..0ac51e45e --- /dev/null +++ b/netbox/users/tests/test_tables.py @@ -0,0 +1,24 @@ +from django.test import RequestFactory, tag, TestCase + +from users.models import Token +from users.tables import TokenTable + + +class TokenTableTest(TestCase): + @tag('regression') + def test_every_orderable_field_does_not_throw_exception(self): + tokens = Token.objects.all() + disallowed = {'actions'} + + orderable_columns = [ + column.name for column in TokenTable(tokens).columns + if column.orderable and column.name not in disallowed + ] + fake_request = RequestFactory().get("/") + + for col in orderable_columns: + for direction in ('-', ''): + with self.subTest(col=col, direction=direction): + table = TokenTable(tokens) + table.order_by = f'{direction}{col}' + table.as_html(fake_request)