mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-20 10:16:42 -06:00
Introduce default_columns Meta parameter to reduce boilerplate
This commit is contained in:
parent
725e3cdbf3
commit
8ec2e3cc7b
@ -27,15 +27,6 @@ STATUS_LABEL = """
|
|||||||
class ProviderTable(BaseTable):
|
class ProviderTable(BaseTable):
|
||||||
pk = ToggleColumn()
|
pk = ToggleColumn()
|
||||||
name = tables.LinkColumn()
|
name = tables.LinkColumn()
|
||||||
portal_url = tables.URLColumn(
|
|
||||||
visible=False
|
|
||||||
)
|
|
||||||
noc_contact = tables.Column(
|
|
||||||
visible=False
|
|
||||||
)
|
|
||||||
admin_contact = tables.Column(
|
|
||||||
visible=False
|
|
||||||
)
|
|
||||||
circuit_count = tables.Column(
|
circuit_count = tables.Column(
|
||||||
accessor=Accessor('count_circuits'),
|
accessor=Accessor('count_circuits'),
|
||||||
verbose_name='Circuits'
|
verbose_name='Circuits'
|
||||||
@ -44,6 +35,7 @@ class ProviderTable(BaseTable):
|
|||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = Provider
|
model = Provider
|
||||||
fields = ('pk', 'name', 'asn', 'account', 'portal_url', 'noc_contact', 'admin_contact', 'circuit_count')
|
fields = ('pk', 'name', 'asn', 'account', 'portal_url', 'noc_contact', 'admin_contact', 'circuit_count')
|
||||||
|
default_columns = ('pk', 'name', 'asn', 'account', 'circuit_count')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -63,6 +55,7 @@ class CircuitTypeTable(BaseTable):
|
|||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = CircuitType
|
model = CircuitType
|
||||||
fields = ('pk', 'name', 'circuit_count', 'description', 'slug', 'actions')
|
fields = ('pk', 'name', 'circuit_count', 'description', 'slug', 'actions')
|
||||||
|
default_columns = ('pk', 'name', 'circuit_count', 'description', 'slug', 'actions')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -81,12 +74,6 @@ class CircuitTable(BaseTable):
|
|||||||
z_side = tables.Column(
|
z_side = tables.Column(
|
||||||
verbose_name='Z Side'
|
verbose_name='Z Side'
|
||||||
)
|
)
|
||||||
install_date = tables.Column(
|
|
||||||
visible=False
|
|
||||||
)
|
|
||||||
commit_rate = tables.Column(
|
|
||||||
visible=False
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = Circuit
|
model = Circuit
|
||||||
@ -94,3 +81,4 @@ class CircuitTable(BaseTable):
|
|||||||
'pk', 'cid', 'provider', 'type', 'status', 'tenant', 'a_side', 'z_side', 'install_date', 'commit_rate',
|
'pk', 'cid', 'provider', 'type', 'status', 'tenant', 'a_side', 'z_side', 'install_date', 'commit_rate',
|
||||||
'description',
|
'description',
|
||||||
)
|
)
|
||||||
|
default_columns = ('pk', 'cid', 'provider', 'type', 'status', 'tenant', 'a_side', 'z_side', 'description')
|
||||||
|
@ -18,6 +18,13 @@ class BaseTable(tables.Table):
|
|||||||
if self.empty_text is None:
|
if self.empty_text is None:
|
||||||
self.empty_text = 'No {} found'.format(self._meta.model._meta.verbose_name_plural)
|
self.empty_text = 'No {} found'.format(self._meta.model._meta.verbose_name_plural)
|
||||||
|
|
||||||
|
# Hide non-default columns
|
||||||
|
default_columns = getattr(self.Meta, 'default_columns', list())
|
||||||
|
if default_columns:
|
||||||
|
for column in self.columns:
|
||||||
|
if column.name not in default_columns:
|
||||||
|
self.columns.hide(column.name)
|
||||||
|
|
||||||
# Apply custom column ordering
|
# Apply custom column ordering
|
||||||
if columns is not None:
|
if columns is not None:
|
||||||
pk = self.base_columns.pop('pk', None)
|
pk = self.base_columns.pop('pk', None)
|
||||||
|
Loading…
Reference in New Issue
Block a user