mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-21 03:27:21 -06:00
Closes #13400: Add 'name' property to BaseTable class
This commit is contained in:
parent
2236b86c35
commit
f9648d8544
@ -54,7 +54,7 @@ class BaseTable(tables.Table):
|
|||||||
# 3. Meta.fields
|
# 3. Meta.fields
|
||||||
selected_columns = None
|
selected_columns = None
|
||||||
if user is not None and not isinstance(user, AnonymousUser):
|
if user is not None and not isinstance(user, AnonymousUser):
|
||||||
selected_columns = user.config.get(f"tables.{self.__class__.__name__}.columns")
|
selected_columns = user.config.get(f"tables.{self.name}.columns")
|
||||||
if not selected_columns:
|
if not selected_columns:
|
||||||
selected_columns = getattr(self.Meta, 'default_columns', self.Meta.fields)
|
selected_columns = getattr(self.Meta, 'default_columns', self.Meta.fields)
|
||||||
|
|
||||||
@ -113,6 +113,10 @@ class BaseTable(tables.Table):
|
|||||||
columns.append((name, column.verbose_name))
|
columns.append((name, column.verbose_name))
|
||||||
return columns
|
return columns
|
||||||
|
|
||||||
|
@property
|
||||||
|
def name(self):
|
||||||
|
return self.__class__.__name__
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def available_columns(self):
|
def available_columns(self):
|
||||||
return self._get_columns(visible=False)
|
return self._get_columns(visible=False)
|
||||||
@ -138,17 +142,16 @@ class BaseTable(tables.Table):
|
|||||||
"""
|
"""
|
||||||
# Save ordering preference
|
# Save ordering preference
|
||||||
if request.user.is_authenticated:
|
if request.user.is_authenticated:
|
||||||
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 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.{self.name}.ordering', ordering, commit=True)
|
||||||
else:
|
else:
|
||||||
# If the ordering has been set to none (empty), clear any existing preference.
|
# If the ordering has been set to none (empty), clear any existing preference.
|
||||||
request.user.config.clear(f'tables.{table_name}.ordering', commit=True)
|
request.user.config.clear(f'tables.{self.name}.ordering', commit=True)
|
||||||
elif ordering := request.user.config.get(f'tables.{table_name}.ordering'):
|
elif ordering := request.user.config.get(f'tables.{self.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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user