diff --git a/netbox/tenancy/tables/contacts.py b/netbox/tenancy/tables/contacts.py index 946058218..1e9cca9da 100644 --- a/netbox/tenancy/tables/contacts.py +++ b/netbox/tenancy/tables/contacts.py @@ -4,7 +4,7 @@ from django_tables2.utils import Accessor 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 141ca66d6..01dde93bd 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.