Skip to content

Commit a49d3d2

Browse files
Merge pull request #9695 from hagbarddenstore/issue_9686
Add Tenant Group column to tables #9686
2 parents a40ab9f + 1539769 commit a49d3d2

File tree

15 files changed

+95
-83
lines changed

15 files changed

+95
-83
lines changed

netbox/circuits/tables/circuits.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from circuits.models import *
44
from netbox.tables import NetBoxTable, columns
5-
from tenancy.tables import TenantColumn
5+
from tenancy.tables import TenancyColumnsMixin
66
from .columns import CommitRateColumn
77

88
__all__ = (
@@ -39,7 +39,7 @@ class Meta(NetBoxTable.Meta):
3939
default_columns = ('pk', 'name', 'circuit_count', 'description', 'slug')
4040

4141

42-
class CircuitTable(NetBoxTable):
42+
class CircuitTable(TenancyColumnsMixin, NetBoxTable):
4343
cid = tables.Column(
4444
linkify=True,
4545
verbose_name='Circuit ID'
@@ -48,7 +48,6 @@ class CircuitTable(NetBoxTable):
4848
linkify=True
4949
)
5050
status = columns.ChoiceFieldColumn()
51-
tenant = TenantColumn()
5251
termination_a = tables.TemplateColumn(
5352
template_code=CIRCUITTERMINATION_LINK,
5453
verbose_name='Side A'
@@ -69,7 +68,7 @@ class CircuitTable(NetBoxTable):
6968
class Meta(NetBoxTable.Meta):
7069
model = Circuit
7170
fields = (
72-
'pk', 'id', 'cid', 'provider', 'type', 'status', 'tenant', 'termination_a', 'termination_z', 'install_date',
71+
'pk', 'id', 'cid', 'provider', 'type', 'status', 'tenant', 'tenant_group', 'termination_a', 'termination_z', 'install_date',
7372
'commit_rate', 'description', 'comments', 'contacts', 'tags', 'created', 'last_updated',
7473
)
7574
default_columns = (

netbox/circuits/views.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def get_extra_context(self, request, instance):
3030
circuits = Circuit.objects.restrict(request.user, 'view').filter(
3131
provider=instance
3232
).prefetch_related(
33-
'type', 'tenant', 'terminations__site'
33+
'type', 'tenant', 'tenant__group', 'terminations__site'
3434
)
3535
circuits_table = tables.CircuitTable(circuits, user=request.user, exclude=('provider',))
3636
circuits_table.configure(request)
@@ -91,7 +91,7 @@ def get_extra_context(self, request, instance):
9191
Q(termination_a__provider_network=instance.pk) |
9292
Q(termination_z__provider_network=instance.pk)
9393
).prefetch_related(
94-
'type', 'tenant', 'terminations__site'
94+
'type', 'tenant', 'tenant__group', 'terminations__site'
9595
)
9696
circuits_table = tables.CircuitTable(circuits, user=request.user)
9797
circuits_table.configure(request)
@@ -192,7 +192,7 @@ class CircuitTypeBulkDeleteView(generic.BulkDeleteView):
192192

193193
class CircuitListView(generic.ObjectListView):
194194
queryset = Circuit.objects.prefetch_related(
195-
'provider', 'type', 'tenant', 'termination_a', 'termination_z'
195+
'provider', 'type', 'tenant', 'tenant__group', 'termination_a', 'termination_z'
196196
)
197197
filterset = filtersets.CircuitFilterSet
198198
filterset_form = forms.CircuitFilterForm

netbox/dcim/tables/cables.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from dcim.models import Cable
55
from netbox.tables import NetBoxTable, columns
6-
from tenancy.tables import TenantColumn
6+
from tenancy.tables import TenancyColumnsMixin
77
from .template_code import CABLE_LENGTH, CABLE_TERMINATION_PARENT
88

99
__all__ = (
@@ -15,7 +15,7 @@
1515
# Cables
1616
#
1717

18-
class CableTable(NetBoxTable):
18+
class CableTable(TenancyColumnsMixin, NetBoxTable):
1919
termination_a_parent = tables.TemplateColumn(
2020
template_code=CABLE_TERMINATION_PARENT,
2121
accessor=Accessor('termination_a'),
@@ -53,7 +53,6 @@ class CableTable(NetBoxTable):
5353
verbose_name='Termination B'
5454
)
5555
status = columns.ChoiceFieldColumn()
56-
tenant = TenantColumn()
5756
length = columns.TemplateColumn(
5857
template_code=CABLE_LENGTH,
5958
order_by=('_abs_length', 'length_unit')
@@ -67,7 +66,7 @@ class Meta(NetBoxTable.Meta):
6766
model = Cable
6867
fields = (
6968
'pk', 'id', 'label', 'termination_a_parent', 'rack_a', 'termination_a', 'termination_b_parent', 'rack_b', 'termination_b',
70-
'status', 'type', 'tenant', 'color', 'length', 'tags', 'created', 'last_updated',
69+
'status', 'type', 'tenant', 'tenant_group', 'color', 'length', 'tags', 'created', 'last_updated',
7170
)
7271
default_columns = (
7372
'pk', 'id', 'label', 'termination_a_parent', 'termination_a', 'termination_b_parent', 'termination_b',

netbox/dcim/tables/devices.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
InventoryItemRole, ModuleBay, Platform, PowerOutlet, PowerPort, RearPort, VirtualChassis,
77
)
88
from netbox.tables import NetBoxTable, columns
9-
from tenancy.tables import TenantColumn
9+
from tenancy.tables import TenancyColumnsMixin
1010
from .template_code import *
1111

1212
__all__ = (
@@ -137,13 +137,12 @@ class Meta(NetBoxTable.Meta):
137137
# Devices
138138
#
139139

140-
class DeviceTable(NetBoxTable):
140+
class DeviceTable(TenancyColumnsMixin, NetBoxTable):
141141
name = tables.TemplateColumn(
142142
order_by=('_name',),
143143
template_code=DEVICE_LINK
144144
)
145145
status = columns.ChoiceFieldColumn()
146-
tenant = TenantColumn()
147146
site = tables.Column(
148147
linkify=True
149148
)
@@ -200,7 +199,7 @@ class DeviceTable(NetBoxTable):
200199
class Meta(NetBoxTable.Meta):
201200
model = Device
202201
fields = (
203-
'pk', 'id', 'name', 'status', 'tenant', 'device_role', 'manufacturer', 'device_type', 'platform', 'serial',
202+
'pk', 'id', 'name', 'status', 'tenant', 'tenant_group', 'device_role', 'manufacturer', 'device_type', 'platform', 'serial',
204203
'asset_tag', 'site', 'location', 'rack', 'position', 'face', 'primary_ip', 'airflow', 'primary_ip4',
205204
'primary_ip6', 'cluster', 'virtual_chassis', 'vc_position', 'vc_priority', 'comments', 'contacts', 'tags',
206205
'created', 'last_updated',
@@ -211,12 +210,11 @@ class Meta(NetBoxTable.Meta):
211210
)
212211

213212

214-
class DeviceImportTable(NetBoxTable):
213+
class DeviceImportTable(TenancyColumnsMixin, NetBoxTable):
215214
name = tables.TemplateColumn(
216215
template_code=DEVICE_LINK
217216
)
218217
status = columns.ChoiceFieldColumn()
219-
tenant = TenantColumn()
220218
site = tables.Column(
221219
linkify=True
222220
)
@@ -232,7 +230,7 @@ class DeviceImportTable(NetBoxTable):
232230

233231
class Meta(NetBoxTable.Meta):
234232
model = Device
235-
fields = ('id', 'name', 'status', 'tenant', 'site', 'rack', 'position', 'device_role', 'device_type')
233+
fields = ('id', 'name', 'status', 'tenant', 'tenant_group', 'site', 'rack', 'position', 'device_role', 'device_type')
236234
empty_text = False
237235

238236

netbox/dcim/tables/racks.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from dcim.models import Rack, RackReservation, RackRole
55
from netbox.tables import NetBoxTable, columns
6-
from tenancy.tables import TenantColumn
6+
from tenancy.tables import TenancyColumnsMixin
77

88
__all__ = (
99
'RackTable',
@@ -37,7 +37,7 @@ class Meta(NetBoxTable.Meta):
3737
# Racks
3838
#
3939

40-
class RackTable(NetBoxTable):
40+
class RackTable(TenancyColumnsMixin, NetBoxTable):
4141
name = tables.Column(
4242
order_by=('_name',),
4343
linkify=True
@@ -48,7 +48,6 @@ class RackTable(NetBoxTable):
4848
site = tables.Column(
4949
linkify=True
5050
)
51-
tenant = TenantColumn()
5251
status = columns.ChoiceFieldColumn()
5352
role = columns.ColoredLabelColumn()
5453
u_height = tables.TemplateColumn(
@@ -87,7 +86,7 @@ class RackTable(NetBoxTable):
8786
class Meta(NetBoxTable.Meta):
8887
model = Rack
8988
fields = (
90-
'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'serial', 'asset_tag',
89+
'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'tenant_group', 'role', 'serial', 'asset_tag',
9190
'type', 'width', 'outer_width', 'outer_depth', 'u_height', 'comments', 'device_count', 'get_utilization',
9291
'get_power_utilization', 'contacts', 'tags', 'created', 'last_updated',
9392
)
@@ -101,7 +100,7 @@ class Meta(NetBoxTable.Meta):
101100
# Rack reservations
102101
#
103102

104-
class RackReservationTable(NetBoxTable):
103+
class RackReservationTable(TenancyColumnsMixin, NetBoxTable):
105104
reservation = tables.Column(
106105
accessor='pk',
107106
linkify=True
@@ -110,7 +109,6 @@ class RackReservationTable(NetBoxTable):
110109
accessor=Accessor('rack__site'),
111110
linkify=True
112111
)
113-
tenant = TenantColumn()
114112
rack = tables.Column(
115113
linkify=True
116114
)
@@ -125,7 +123,7 @@ class RackReservationTable(NetBoxTable):
125123
class Meta(NetBoxTable.Meta):
126124
model = RackReservation
127125
fields = (
128-
'pk', 'id', 'reservation', 'site', 'rack', 'unit_list', 'user', 'created', 'tenant', 'description', 'tags',
126+
'pk', 'id', 'reservation', 'site', 'rack', 'unit_list', 'user', 'created', 'tenant', 'tenant_group', 'description', 'tags',
129127
'actions', 'created', 'last_updated',
130128
)
131129
default_columns = ('pk', 'reservation', 'site', 'rack', 'unit_list', 'user', 'description')

netbox/dcim/tables/sites.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from dcim.models import Location, Region, Site, SiteGroup
44
from netbox.tables import NetBoxTable, columns
5-
from tenancy.tables import TenantColumn
5+
from tenancy.tables import TenancyColumnsMixin
66
from .template_code import LOCATION_BUTTONS
77

88
__all__ = (
@@ -75,7 +75,7 @@ class Meta(NetBoxTable.Meta):
7575
# Sites
7676
#
7777

78-
class SiteTable(NetBoxTable):
78+
class SiteTable(TenancyColumnsMixin, NetBoxTable):
7979
name = tables.Column(
8080
linkify=True
8181
)
@@ -96,7 +96,6 @@ class SiteTable(NetBoxTable):
9696
url_params={'site_id': 'pk'},
9797
verbose_name='ASN Count'
9898
)
99-
tenant = TenantColumn()
10099
comments = columns.MarkdownColumn()
101100
contacts = columns.ManyToManyColumn(
102101
linkify_item=True
@@ -108,7 +107,7 @@ class SiteTable(NetBoxTable):
108107
class Meta(NetBoxTable.Meta):
109108
model = Site
110109
fields = (
111-
'pk', 'id', 'name', 'slug', 'status', 'facility', 'region', 'group', 'tenant', 'asns', 'asn_count',
110+
'pk', 'id', 'name', 'slug', 'status', 'facility', 'region', 'group', 'tenant', 'tenant_group', 'asns', 'asn_count',
112111
'time_zone', 'description', 'physical_address', 'shipping_address', 'latitude', 'longitude', 'comments',
113112
'contacts', 'tags', 'created', 'last_updated', 'actions',
114113
)
@@ -119,14 +118,13 @@ class Meta(NetBoxTable.Meta):
119118
# Locations
120119
#
121120

122-
class LocationTable(NetBoxTable):
121+
class LocationTable(TenancyColumnsMixin, NetBoxTable):
123122
name = columns.MPTTColumn(
124123
linkify=True
125124
)
126125
site = tables.Column(
127126
linkify=True
128127
)
129-
tenant = TenantColumn()
130128
rack_count = columns.LinkedCountColumn(
131129
viewname='dcim:rack_list',
132130
url_params={'location_id': 'pk'},
@@ -150,7 +148,7 @@ class LocationTable(NetBoxTable):
150148
class Meta(NetBoxTable.Meta):
151149
model = Location
152150
fields = (
153-
'pk', 'id', 'name', 'site', 'tenant', 'rack_count', 'device_count', 'description', 'slug', 'contacts',
151+
'pk', 'id', 'name', 'site', 'tenant', 'tenant_group', 'rack_count', 'device_count', 'description', 'slug', 'contacts',
154152
'tags', 'actions', 'created', 'last_updated',
155153
)
156154
default_columns = ('pk', 'name', 'site', 'tenant', 'rack_count', 'device_count', 'description')

netbox/dcim/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ class RackRoleBulkDeleteView(generic.BulkDeleteView):
561561

562562
class RackListView(generic.ObjectListView):
563563
queryset = Rack.objects.prefetch_related(
564-
'site', 'location', 'tenant', 'role', 'devices__device_type'
564+
'site', 'location', 'tenant', 'tenant_group', 'role', 'devices__device_type'
565565
).annotate(
566566
device_count=count_related(Device, 'rack')
567567
)

0 commit comments

Comments
 (0)