mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-05 00:47:17 +02:00
Apply column hiding before prefetching
This commit is contained in:
@@ -185,6 +185,19 @@ class BaseTable(tables.Table):
|
||||
columns = getattr(self.Meta, 'default_columns', self.Meta.fields)
|
||||
|
||||
self._set_columns(columns)
|
||||
|
||||
# Apply column inclusion/exclusion (overrides user preferences)
|
||||
if include_columns := request.GET.get('include_columns'):
|
||||
include_columns = include_columns.split(',')
|
||||
for column in self.columns:
|
||||
if column.name not in self.exempt_columns and column.name not in include_columns:
|
||||
self.columns.hide(column.name)
|
||||
elif exclude_columns := request.GET.get('exclude_columns'):
|
||||
exclude_columns = exclude_columns.split(',')
|
||||
for column_name in exclude_columns:
|
||||
if column_name in self.columns.names():
|
||||
self.columns.hide(column_name)
|
||||
|
||||
self._apply_prefetching()
|
||||
if ordering is not None:
|
||||
self.order_by = ordering
|
||||
|
||||
@@ -97,16 +97,4 @@ class TableMixin:
|
||||
table.columns.show('pk')
|
||||
table.configure(request)
|
||||
|
||||
# Apply column inclusion/exclusion (overrides user preferences)
|
||||
if include_columns := request.GET.get('include_columns'):
|
||||
include_columns = include_columns.split(',')
|
||||
for column in table.columns:
|
||||
if column.name not in table.exempt_columns and column.name not in include_columns:
|
||||
table.columns.hide(column.name)
|
||||
elif exclude_columns := request.GET.get('exclude_columns'):
|
||||
exclude_columns = exclude_columns.split(',')
|
||||
for column_name in exclude_columns:
|
||||
if column_name in table.columns.names():
|
||||
table.columns.hide(column_name)
|
||||
|
||||
return table
|
||||
|
||||
Reference in New Issue
Block a user