Skip to content

Commit d6f756d

Browse files
pheusjeremystretch
authored andcommitted
feat(tables): Add ContactsColumnMixin to multiple tables
Integrate `ContactsColumnMixin` into various IPAM and VPN tables to improve contact management. Updates table fields to include `contacts`. Fixes #20700
1 parent afc62b6 commit d6f756d

File tree

4 files changed

+22
-20
lines changed

4 files changed

+22
-20
lines changed

netbox/ipam/tables/asn.py

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

44
from ipam.models import *
55
from netbox.tables import NetBoxTable, columns
6-
from tenancy.tables import TenancyColumnsMixin
6+
from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
77

88
__all__ = (
99
'ASNTable',
@@ -36,7 +36,7 @@ class Meta(NetBoxTable.Meta):
3636
default_columns = ('pk', 'name', 'rir', 'start', 'end', 'tenant', 'asn_count', 'description')
3737

3838

39-
class ASNTable(TenancyColumnsMixin, NetBoxTable):
39+
class ASNTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
4040
asn = tables.Column(
4141
verbose_name=_('ASN'),
4242
linkify=True
@@ -76,7 +76,7 @@ class Meta(NetBoxTable.Meta):
7676
model = ASN
7777
fields = (
7878
'pk', 'asn', 'asn_asdot', 'rir', 'site_count', 'provider_count', 'tenant', 'tenant_group', 'description',
79-
'comments', 'sites', 'tags', 'created', 'last_updated', 'actions',
79+
'contacts', 'comments', 'sites', 'tags', 'created', 'last_updated', 'actions',
8080
)
8181
default_columns = (
8282
'pk', 'asn', 'rir', 'site_count', 'provider_count', 'sites', 'description', 'tenant',

netbox/ipam/tables/ip.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from django.utils.translation import gettext_lazy as _
21
import django_tables2 as tables
32
from django.utils.safestring import mark_safe
3+
from django.utils.translation import gettext_lazy as _
44
from django_tables2.utils import Accessor
55

66
from ipam.models import *
@@ -58,7 +58,7 @@ class Meta(NetBoxTable.Meta):
5858
# Aggregates
5959
#
6060

61-
class AggregateTable(TenancyColumnsMixin, NetBoxTable):
61+
class AggregateTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
6262
prefix = tables.Column(
6363
linkify=True,
6464
verbose_name=_('Aggregate'),
@@ -93,7 +93,7 @@ class Meta(NetBoxTable.Meta):
9393
model = Aggregate
9494
fields = (
9595
'pk', 'id', 'prefix', 'rir', 'tenant', 'tenant_group', 'child_count', 'utilization', 'date_added',
96-
'description', 'comments', 'tags', 'created', 'last_updated',
96+
'description', 'contacts', 'comments', 'tags', 'created', 'last_updated',
9797
)
9898
default_columns = ('pk', 'prefix', 'rir', 'tenant', 'child_count', 'utilization', 'date_added', 'description')
9999

@@ -154,7 +154,7 @@ class PrefixUtilizationColumn(columns.UtilizationColumn):
154154
"""
155155

156156

157-
class PrefixTable(TenancyColumnsMixin, NetBoxTable):
157+
class PrefixTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
158158
prefix = columns.TemplateColumn(
159159
verbose_name=_('Prefix'),
160160
template_code=PREFIX_LINK_WITH_DEPTH,
@@ -237,8 +237,8 @@ class Meta(NetBoxTable.Meta):
237237
model = Prefix
238238
fields = (
239239
'pk', 'id', 'prefix', 'prefix_flat', 'status', 'children', 'vrf', 'utilization', 'tenant', 'tenant_group',
240-
'scope', 'scope_type', 'vlan_group', 'vlan', 'role', 'is_pool', 'mark_utilized', 'description', 'comments',
241-
'tags', 'created', 'last_updated',
240+
'scope', 'scope_type', 'vlan_group', 'vlan', 'role', 'is_pool', 'mark_utilized', 'description', 'contacts',
241+
'comments', 'tags', 'created', 'last_updated',
242242
)
243243
default_columns = (
244244
'pk', 'prefix', 'status', 'children', 'vrf', 'utilization', 'tenant', 'scope', 'vlan', 'role',
@@ -252,7 +252,7 @@ class Meta(NetBoxTable.Meta):
252252
#
253253
# IP ranges
254254
#
255-
class IPRangeTable(TenancyColumnsMixin, NetBoxTable):
255+
class IPRangeTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
256256
start_address = tables.Column(
257257
verbose_name=_('Start address'),
258258
linkify=True
@@ -293,8 +293,8 @@ class Meta(NetBoxTable.Meta):
293293
model = IPRange
294294
fields = (
295295
'pk', 'id', 'start_address', 'end_address', 'size', 'vrf', 'status', 'role', 'tenant', 'tenant_group',
296-
'mark_populated', 'mark_utilized', 'utilization', 'description', 'comments', 'tags', 'created',
297-
'last_updated',
296+
'mark_populated', 'mark_utilized', 'utilization', 'description', 'contacts', 'comments', 'tags',
297+
'created', 'last_updated',
298298
)
299299
default_columns = (
300300
'pk', 'start_address', 'end_address', 'size', 'vrf', 'status', 'role', 'tenant', 'description',

netbox/vpn/tables/l2vpn.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from django.utils.translation import gettext_lazy as _
33

44
from netbox.tables import NetBoxTable, columns
5-
from tenancy.tables import TenancyColumnsMixin
5+
from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
66
from vpn.models import L2VPN, L2VPNTermination
77

88
__all__ = (
@@ -17,7 +17,7 @@
1717
"""
1818

1919

20-
class L2VPNTable(TenancyColumnsMixin, NetBoxTable):
20+
class L2VPNTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
2121
pk = columns.ToggleColumn()
2222
name = tables.Column(
2323
verbose_name=_('Name'),
@@ -47,7 +47,7 @@ class Meta(NetBoxTable.Meta):
4747
model = L2VPN
4848
fields = (
4949
'pk', 'name', 'slug', 'status', 'identifier', 'type', 'import_targets', 'export_targets', 'tenant',
50-
'tenant_group', 'description', 'comments', 'tags', 'created', 'last_updated',
50+
'tenant_group', 'description', 'contacts', 'comments', 'tags', 'created', 'last_updated',
5151
)
5252
default_columns = ('pk', 'name', 'status', 'identifier', 'type', 'description')
5353

netbox/vpn/tables/tunnels.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from django_tables2.utils import Accessor
44

55
from netbox.tables import NetBoxTable, columns
6-
from tenancy.tables import TenancyColumnsMixin
6+
from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
77
from vpn.models import *
88

99
__all__ = (
@@ -13,7 +13,7 @@
1313
)
1414

1515

16-
class TunnelGroupTable(NetBoxTable):
16+
class TunnelGroupTable(ContactsColumnMixin, NetBoxTable):
1717
name = tables.Column(
1818
verbose_name=_('Name'),
1919
linkify=True
@@ -30,12 +30,13 @@ class TunnelGroupTable(NetBoxTable):
3030
class Meta(NetBoxTable.Meta):
3131
model = TunnelGroup
3232
fields = (
33-
'pk', 'id', 'name', 'tunnel_count', 'description', 'slug', 'tags', 'actions', 'created', 'last_updated',
33+
'pk', 'id', 'name', 'tunnel_count', 'description', 'slug', 'contacts', 'tags', 'actions',
34+
'created', 'last_updated',
3435
)
3536
default_columns = ('pk', 'name', 'tunnel_count', 'description')
3637

3738

38-
class TunnelTable(TenancyColumnsMixin, NetBoxTable):
39+
class TunnelTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
3940
name = tables.Column(
4041
verbose_name=_('Name'),
4142
linkify=True
@@ -68,7 +69,8 @@ class Meta(NetBoxTable.Meta):
6869
model = Tunnel
6970
fields = (
7071
'pk', 'id', 'name', 'group', 'status', 'encapsulation', 'ipsec_profile', 'tenant', 'tenant_group',
71-
'tunnel_id', 'termination_count', 'description', 'comments', 'tags', 'created', 'last_updated',
72+
'tunnel_id', 'termination_count', 'description', 'contacts', 'comments', 'tags', 'created',
73+
'last_updated',
7274
)
7375
default_columns = ('pk', 'name', 'group', 'status', 'encapsulation', 'tenant', 'terminations_count')
7476

0 commit comments

Comments
 (0)