Add linkify_email and apply with linkify_phone to ContactAssignmentTable

This commit is contained in:
Brian Tiemann 2024-08-21 14:24:01 -04:00
parent 96802b4edb
commit 1a0750a3e4
2 changed files with 14 additions and 3 deletions

View File

@ -4,7 +4,7 @@ from django_tables2.utils import Accessor
from netbox.tables import NetBoxTable, columns from netbox.tables import NetBoxTable, columns
from tenancy.models import * from tenancy.models import *
from utilities.tables import linkify_phone from utilities.tables import linkify_phone, linkify_email
__all__ = ( __all__ = (
'ContactAssignmentTable', 'ContactAssignmentTable',
@ -113,11 +113,13 @@ class ContactAssignmentTable(NetBoxTable):
) )
contact_phone = tables.Column( contact_phone = tables.Column(
accessor=Accessor('contact__phone'), accessor=Accessor('contact__phone'),
verbose_name=_('Contact Phone') verbose_name=_('Contact Phone'),
linkify=linkify_phone,
) )
contact_email = tables.Column( contact_email = tables.Column(
accessor=Accessor('contact__email'), accessor=Accessor('contact__email'),
verbose_name=_('Contact Email') verbose_name=_('Contact Email'),
linkify=linkify_email,
) )
contact_address = tables.Column( contact_address = tables.Column(
accessor=Accessor('contact__address'), accessor=Accessor('contact__address'),

View File

@ -23,6 +23,15 @@ def get_table_ordering(request, table):
return preference 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): def linkify_phone(value):
""" """
Render a telephone number as a hyperlink. Render a telephone number as a hyperlink.