Skip to content

Commit 383cdb5

Browse files
Merge pull request #7297 from netbox-community/7295-tables-cleanup
Closes #7295: General cleanup of table classes
2 parents 84f3ab9 + 7b3f6f1 commit 383cdb5

File tree

18 files changed

+431
-422
lines changed

18 files changed

+431
-422
lines changed

netbox/circuits/tables.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@
66
from .models import *
77

88

9+
__all__ = (
10+
'CircuitTable',
11+
'CircuitTypeTable',
12+
'ProviderTable',
13+
'ProviderNetworkTable',
14+
)
15+
16+
917
CIRCUITTERMINATION_LINK = """
1018
{% if value.site %}
1119
<a href="{{ value.site.get_absolute_url }}">{{ value.site }}</a>

netbox/circuits/views.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,7 @@ def get_extra_context(self, request, instance):
3434
).prefetch_related(
3535
'type', 'tenant', 'terminations__site'
3636
)
37-
38-
circuits_table = tables.CircuitTable(circuits)
39-
circuits_table.columns.hide('provider')
37+
circuits_table = tables.CircuitTable(circuits, exclude=('provider',))
4038
paginate_table(circuits_table, request)
4139

4240
return {
@@ -97,10 +95,7 @@ def get_extra_context(self, request, instance):
9795
).prefetch_related(
9896
'type', 'tenant', 'terminations__site'
9997
)
100-
10198
circuits_table = tables.CircuitTable(circuits)
102-
circuits_table.columns.hide('termination_a')
103-
circuits_table.columns.hide('termination_z')
10499
paginate_table(circuits_table, request)
105100

106101
return {
@@ -153,12 +148,8 @@ class CircuitTypeView(generic.ObjectView):
153148
queryset = CircuitType.objects.all()
154149

155150
def get_extra_context(self, request, instance):
156-
circuits = Circuit.objects.restrict(request.user, 'view').filter(
157-
type=instance
158-
)
159-
160-
circuits_table = tables.CircuitTable(circuits)
161-
circuits_table.columns.hide('type')
151+
circuits = Circuit.objects.restrict(request.user, 'view').filter(type=instance)
152+
circuits_table = tables.CircuitTable(circuits, exclude=('type',))
162153
paginate_table(circuits_table, request)
163154

164155
return {

netbox/dcim/tables/devices.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
)
1919

2020
__all__ = (
21+
'BaseInterfaceTable',
2122
'ConsolePortTable',
2223
'ConsoleServerPortTable',
2324
'DeviceBayTable',

netbox/dcim/tables/racks.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
__all__ = (
1212
'RackTable',
13-
'RackDetailTable',
1413
'RackReservationTable',
1514
'RackRoleTable',
1615
)
@@ -56,17 +55,6 @@ class RackTable(BaseTable):
5655
template_code="{{ record.u_height }}U",
5756
verbose_name='Height'
5857
)
59-
60-
class Meta(BaseTable.Meta):
61-
model = Rack
62-
fields = (
63-
'pk', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'serial', 'asset_tag', 'type',
64-
'width', 'u_height',
65-
)
66-
default_columns = ('pk', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'u_height')
67-
68-
69-
class RackDetailTable(RackTable):
7058
comments = MarkdownColumn()
7159
device_count = LinkedCountColumn(
7260
viewname='dcim:device_list',
@@ -85,7 +73,8 @@ class RackDetailTable(RackTable):
8573
url_name='dcim:rack_list'
8674
)
8775

88-
class Meta(RackTable.Meta):
76+
class Meta(BaseTable.Meta):
77+
model = Rack
8978
fields = (
9079
'pk', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'serial', 'asset_tag', 'type',
9180
'width', 'u_height', 'comments', 'device_count', 'get_utilization', 'get_power_utilization', 'tags',

netbox/dcim/views.py

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,7 @@ def get_extra_context(self, request, instance):
131131
sites = Site.objects.restrict(request.user, 'view').filter(
132132
region=instance
133133
)
134-
sites_table = tables.SiteTable(sites)
135-
sites_table.columns.hide('region')
134+
sites_table = tables.SiteTable(sites, exclude=('region',))
136135
paginate_table(sites_table, request)
137136

138137
return {
@@ -216,8 +215,7 @@ def get_extra_context(self, request, instance):
216215
sites = Site.objects.restrict(request.user, 'view').filter(
217216
group=instance
218217
)
219-
sites_table = tables.SiteTable(sites)
220-
sites_table.columns.hide('group')
218+
sites_table = tables.SiteTable(sites, exclude=('group',))
221219
paginate_table(sites_table, request)
222220

223221
return {
@@ -453,8 +451,7 @@ def get_extra_context(self, request, instance):
453451
role=instance
454452
)
455453

456-
racks_table = tables.RackTable(racks)
457-
racks_table.columns.hide('role')
454+
racks_table = tables.RackTable(racks, exclude=('role', 'get_utilization', 'get_power_utilization'))
458455
paginate_table(racks_table, request)
459456

460457
return {
@@ -505,7 +502,7 @@ class RackListView(generic.ObjectListView):
505502
)
506503
filterset = filtersets.RackFilterSet
507504
filterset_form = forms.RackFilterForm
508-
table = tables.RackDetailTable
505+
table = tables.RackTable
509506

510507

511508
class RackElevationListView(generic.ObjectListView):
@@ -704,8 +701,7 @@ def get_extra_context(self, request, instance):
704701
manufacturer=instance
705702
)
706703

707-
devicetypes_table = tables.DeviceTypeTable(devicetypes)
708-
devicetypes_table.columns.hide('manufacturer')
704+
devicetypes_table = tables.DeviceTypeTable(devicetypes, exclude=('manufacturer',))
709705
paginate_table(devicetypes_table, request)
710706

711707
return {
@@ -1165,9 +1161,7 @@ def get_extra_context(self, request, instance):
11651161
devices = Device.objects.restrict(request.user, 'view').filter(
11661162
device_role=instance
11671163
)
1168-
1169-
devices_table = tables.DeviceTable(devices)
1170-
devices_table.columns.hide('device_role')
1164+
devices_table = tables.DeviceTable(devices, exclude=('device_role',))
11711165
paginate_table(devices_table, request)
11721166

11731167
return {
@@ -1231,9 +1225,7 @@ def get_extra_context(self, request, instance):
12311225
devices = Device.objects.restrict(request.user, 'view').filter(
12321226
platform=instance
12331227
)
1234-
1235-
devices_table = tables.DeviceTable(devices)
1236-
devices_table.columns.hide('platform')
1228+
devices_table = tables.DeviceTable(devices, exclude=('platform',))
12371229
paginate_table(devices_table, request)
12381230

12391231
return {
@@ -1878,9 +1870,9 @@ def get_extra_context(self, request, instance):
18781870
child_interfaces = Interface.objects.restrict(request.user, 'view').filter(parent=instance)
18791871
child_interfaces_tables = tables.InterfaceTable(
18801872
child_interfaces,
1873+
exclude=('device', 'parent'),
18811874
orderable=False
18821875
)
1883-
child_interfaces_tables.columns.hide('device')
18841876

18851877
# Get assigned VLANs and annotate whether each is tagged or untagged
18861878
vlans = []

netbox/extras/tables.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,19 @@
77
)
88
from .models import *
99

10+
__all__ = (
11+
'ConfigContextTable',
12+
'CustomFieldTable',
13+
'CustomLinkTable',
14+
'ExportTemplateTable',
15+
'JournalEntryTable',
16+
'ObjectChangeTable',
17+
'ObjectJournalTable',
18+
'TaggedItemTable',
19+
'TagTable',
20+
'WebhookTable',
21+
)
22+
1023
CONFIGCONTEXT_ACTIONS = """
1124
{% if perms.extras.change_configcontext %}
1225
<a href="{% url 'extras:configcontext_edit' pk=record.pk %}" class="btn btn-sm btn-warning"><i class="mdi mdi-pencil" aria-hidden="true"></i></a>

netbox/ipam/tables/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from .ip import *
2+
from .services import *
3+
from .vlans import *
4+
from .vrfs import *

0 commit comments

Comments
 (0)