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
This commit is contained in:
Martin Hauser
2025-10-28 16:21:23 +01:00
committed by Jeremy Stretch
parent afc62b6ffd
commit d6f756d315
4 changed files with 22 additions and 20 deletions

View File

@@ -2,7 +2,7 @@ import django_tables2 as tables
from django.utils.translation import gettext_lazy as _
from netbox.tables import NetBoxTable, columns
from tenancy.tables import TenancyColumnsMixin
from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
from vpn.models import L2VPN, L2VPNTermination
__all__ = (
@@ -17,7 +17,7 @@ L2VPN_TARGETS = """
"""
class L2VPNTable(TenancyColumnsMixin, NetBoxTable):
class L2VPNTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
pk = columns.ToggleColumn()
name = tables.Column(
verbose_name=_('Name'),
@@ -47,7 +47,7 @@ class L2VPNTable(TenancyColumnsMixin, NetBoxTable):
model = L2VPN
fields = (
'pk', 'name', 'slug', 'status', 'identifier', 'type', 'import_targets', 'export_targets', 'tenant',
'tenant_group', 'description', 'comments', 'tags', 'created', 'last_updated',
'tenant_group', 'description', 'contacts', 'comments', 'tags', 'created', 'last_updated',
)
default_columns = ('pk', 'name', 'status', 'identifier', 'type', 'description')

View File

@@ -3,7 +3,7 @@ from django.utils.translation import gettext_lazy as _
from django_tables2.utils import Accessor
from netbox.tables import NetBoxTable, columns
from tenancy.tables import TenancyColumnsMixin
from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
from vpn.models import *
__all__ = (
@@ -13,7 +13,7 @@ __all__ = (
)
class TunnelGroupTable(NetBoxTable):
class TunnelGroupTable(ContactsColumnMixin, NetBoxTable):
name = tables.Column(
verbose_name=_('Name'),
linkify=True
@@ -30,12 +30,13 @@ class TunnelGroupTable(NetBoxTable):
class Meta(NetBoxTable.Meta):
model = TunnelGroup
fields = (
'pk', 'id', 'name', 'tunnel_count', 'description', 'slug', 'tags', 'actions', 'created', 'last_updated',
'pk', 'id', 'name', 'tunnel_count', 'description', 'slug', 'contacts', 'tags', 'actions',
'created', 'last_updated',
)
default_columns = ('pk', 'name', 'tunnel_count', 'description')
class TunnelTable(TenancyColumnsMixin, NetBoxTable):
class TunnelTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
name = tables.Column(
verbose_name=_('Name'),
linkify=True
@@ -68,7 +69,8 @@ class TunnelTable(TenancyColumnsMixin, NetBoxTable):
model = Tunnel
fields = (
'pk', 'id', 'name', 'group', 'status', 'encapsulation', 'ipsec_profile', 'tenant', 'tenant_group',
'tunnel_id', 'termination_count', 'description', 'comments', 'tags', 'created', 'last_updated',
'tunnel_id', 'termination_count', 'description', 'contacts', 'comments', 'tags', 'created',
'last_updated',
)
default_columns = ('pk', 'name', 'group', 'status', 'encapsulation', 'tenant', 'terminations_count')