Skip to content

Commit 7fc69f3

Browse files
committed
Fixes #12914: Clear stored ordering from user config when cleared by request
1 parent 8aeb317 commit 7fc69f3

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

netbox/netbox/tables/tables.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,14 @@ def configure(self, request):
140140
if request.user.is_authenticated:
141141
table_name = self.__class__.__name__
142142
if self.prefixed_order_by_field in request.GET:
143-
# If an ordering has been specified as a query parameter, save it as the
144-
# user's preferred ordering for this table.
145-
ordering = request.GET.getlist(self.prefixed_order_by_field)
146-
request.user.config.set(f'tables.{table_name}.ordering', ordering, commit=True)
143+
if request.GET[self.prefixed_order_by_field]:
144+
# If an ordering has been specified as a query parameter, save it as the
145+
# user's preferred ordering for this table.
146+
ordering = request.GET.getlist(self.prefixed_order_by_field)
147+
request.user.config.set(f'tables.{table_name}.ordering', ordering, commit=True)
148+
else:
149+
# If the ordering has been set to none (empty), clear any existing preference.
150+
request.user.config.clear(f'tables.{table_name}.ordering', commit=True)
147151
elif ordering := request.user.config.get(f'tables.{table_name}.ordering'):
148152
# If no ordering has been specified, set the preferred ordering (if any).
149153
self.order_by = ordering

0 commit comments

Comments
 (0)