From 1a0750a3e40555ea374375405e76933b749fa534 Mon Sep 17 00:00:00 2001 From: Brian Tiemann Date: Wed, 21 Aug 2024 14:24:01 -0400 Subject: [PATCH 1/2] Add linkify_email and apply with linkify_phone to ContactAssignmentTable --- netbox/tenancy/tables/contacts.py | 8 +++++--- netbox/utilities/tables.py | 9 +++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/netbox/tenancy/tables/contacts.py b/netbox/tenancy/tables/contacts.py index 94605821800..1e9cca9da02 100644 --- a/netbox/tenancy/tables/contacts.py +++ b/netbox/tenancy/tables/contacts.py @@ -4,7 +4,7 @@ from netbox.tables import NetBoxTable, columns from tenancy.models import * -from utilities.tables import linkify_phone +from utilities.tables import linkify_phone, linkify_email __all__ = ( 'ContactAssignmentTable', @@ -113,11 +113,13 @@ class ContactAssignmentTable(NetBoxTable): ) contact_phone = tables.Column( accessor=Accessor('contact__phone'), - verbose_name=_('Contact Phone') + verbose_name=_('Contact Phone'), + linkify=linkify_phone, ) contact_email = tables.Column( accessor=Accessor('contact__email'), - verbose_name=_('Contact Email') + verbose_name=_('Contact Email'), + linkify=linkify_email, ) contact_address = tables.Column( accessor=Accessor('contact__address'), diff --git a/netbox/utilities/tables.py b/netbox/utilities/tables.py index 141ca66d693..01dde93bdb3 100644 --- a/netbox/utilities/tables.py +++ b/netbox/utilities/tables.py @@ -23,6 +23,15 @@ def get_table_ordering(request, table): return preference +def linkify_email(value): + """ + Render an email address as a hyperlink. + """ + if value is None: + return None + return f"mailto:{value.replace(' ', '')}" + + def linkify_phone(value): """ Render a telephone number as a hyperlink. From 58befa4442dc35634c342f24a55ca01a8b42d3c2 Mon Sep 17 00:00:00 2001 From: Brian Tiemann Date: Wed, 21 Aug 2024 14:39:11 -0400 Subject: [PATCH 2/2] Use EmailColumn instead of linkify_email --- netbox/tenancy/tables/contacts.py | 5 ++--- netbox/utilities/tables.py | 9 --------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/netbox/tenancy/tables/contacts.py b/netbox/tenancy/tables/contacts.py index 1e9cca9da02..c4e35ab1b2b 100644 --- a/netbox/tenancy/tables/contacts.py +++ b/netbox/tenancy/tables/contacts.py @@ -4,7 +4,7 @@ from netbox.tables import NetBoxTable, columns from tenancy.models import * -from utilities.tables import linkify_phone, linkify_email +from utilities.tables import linkify_phone __all__ = ( 'ContactAssignmentTable', @@ -116,10 +116,9 @@ class ContactAssignmentTable(NetBoxTable): verbose_name=_('Contact Phone'), linkify=linkify_phone, ) - contact_email = tables.Column( + contact_email = tables.EmailColumn( accessor=Accessor('contact__email'), verbose_name=_('Contact Email'), - linkify=linkify_email, ) contact_address = tables.Column( accessor=Accessor('contact__address'), diff --git a/netbox/utilities/tables.py b/netbox/utilities/tables.py index 01dde93bdb3..141ca66d693 100644 --- a/netbox/utilities/tables.py +++ b/netbox/utilities/tables.py @@ -23,15 +23,6 @@ def get_table_ordering(request, table): return preference -def linkify_email(value): - """ - Render an email address as a hyperlink. - """ - if value is None: - return None - return f"mailto:{value.replace(' ', '')}" - - def linkify_phone(value): """ Render a telephone number as a hyperlink.