mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Fixes #12914: Clear stored ordering from user config when cleared by request
This commit is contained in:
@ -140,10 +140,14 @@ class BaseTable(tables.Table):
|
|||||||
if request.user.is_authenticated:
|
if request.user.is_authenticated:
|
||||||
table_name = self.__class__.__name__
|
table_name = self.__class__.__name__
|
||||||
if self.prefixed_order_by_field in request.GET:
|
if self.prefixed_order_by_field in request.GET:
|
||||||
|
if request.GET[self.prefixed_order_by_field]:
|
||||||
# If an ordering has been specified as a query parameter, save it as the
|
# If an ordering has been specified as a query parameter, save it as the
|
||||||
# user's preferred ordering for this table.
|
# user's preferred ordering for this table.
|
||||||
ordering = request.GET.getlist(self.prefixed_order_by_field)
|
ordering = request.GET.getlist(self.prefixed_order_by_field)
|
||||||
request.user.config.set(f'tables.{table_name}.ordering', ordering, commit=True)
|
request.user.config.set(f'tables.{table_name}.ordering', ordering, commit=True)
|
||||||
|
else:
|
||||||
|
# If the ordering has been set to none (empty), clear any existing preference.
|
||||||
|
request.user.config.clear(f'tables.{table_name}.ordering', commit=True)
|
||||||
elif ordering := request.user.config.get(f'tables.{table_name}.ordering'):
|
elif ordering := request.user.config.get(f'tables.{table_name}.ordering'):
|
||||||
# If no ordering has been specified, set the preferred ordering (if any).
|
# If no ordering has been specified, set the preferred ordering (if any).
|
||||||
self.order_by = ordering
|
self.order_by = ordering
|
||||||
|
Reference in New Issue
Block a user