From bd40d113219486d228776ae5bf66f721ddcc5eb2 Mon Sep 17 00:00:00 2001 From: Antoine Keranflec'h Date: Thu, 6 Mar 2025 20:59:01 +0000 Subject: [PATCH 1/3] contact link as hyperlink --- netbox/tenancy/tables/contacts.py | 5 +++-- netbox/utilities/tables.py | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/netbox/tenancy/tables/contacts.py b/netbox/tenancy/tables/contacts.py index c4e35ab1b2b..d1ab40079c6 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_url __all__ = ( 'ContactAssignmentTable', @@ -126,7 +126,8 @@ class ContactAssignmentTable(NetBoxTable): ) contact_link = tables.Column( accessor=Accessor('contact__link'), - verbose_name=_('Contact Link') + verbose_name=_('Contact Link'), + linkify=linkify_url, ) contact_description = tables.Column( accessor=Accessor('contact__description'), diff --git a/netbox/utilities/tables.py b/netbox/utilities/tables.py index 141ca66d693..6fbdff03845 100644 --- a/netbox/utilities/tables.py +++ b/netbox/utilities/tables.py @@ -31,6 +31,13 @@ def linkify_phone(value): return None return f"tel:{value.replace(' ', '')}" +def linkify_url(value): + """ + Render a URL as a hyperlink. + """ + if value is None: + return None + return value def register_table_column(column, name, *tables): """ From cc9fc693ffcc9eabd3c476c79f85d1091b36f608 Mon Sep 17 00:00:00 2001 From: Antoine Keranflec'h Date: Sun, 9 Mar 2025 22:04:53 +0100 Subject: [PATCH 2/3] fix(lint) add missing blank lines --- netbox/utilities/tables.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/netbox/utilities/tables.py b/netbox/utilities/tables.py index 6fbdff03845..0c067582d95 100644 --- a/netbox/utilities/tables.py +++ b/netbox/utilities/tables.py @@ -31,6 +31,7 @@ def linkify_phone(value): return None return f"tel:{value.replace(' ', '')}" + def linkify_url(value): """ Render a URL as a hyperlink. @@ -39,6 +40,7 @@ def linkify_url(value): return None return value + def register_table_column(column, name, *tables): """ Register a custom column for use on one or more tables. From 0f10b3a53b7030c62ebbc0104cb611bff2f63dd9 Mon Sep 17 00:00:00 2001 From: Antoine Keranflec'h Date: Mon, 10 Mar 2025 16:12:21 +0000 Subject: [PATCH 3/3] simplify by using lambda function --- netbox/tenancy/tables/contacts.py | 4 ++-- netbox/utilities/tables.py | 9 --------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/netbox/tenancy/tables/contacts.py b/netbox/tenancy/tables/contacts.py index d1ab40079c6..5af15a97bbf 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_url +from utilities.tables import linkify_phone __all__ = ( 'ContactAssignmentTable', @@ -127,7 +127,7 @@ class ContactAssignmentTable(NetBoxTable): contact_link = tables.Column( accessor=Accessor('contact__link'), verbose_name=_('Contact Link'), - linkify=linkify_url, + linkify=lambda value: value, ) contact_description = tables.Column( accessor=Accessor('contact__description'), diff --git a/netbox/utilities/tables.py b/netbox/utilities/tables.py index 0c067582d95..141ca66d693 100644 --- a/netbox/utilities/tables.py +++ b/netbox/utilities/tables.py @@ -32,15 +32,6 @@ def linkify_phone(value): return f"tel:{value.replace(' ', '')}" -def linkify_url(value): - """ - Render a URL as a hyperlink. - """ - if value is None: - return None - return value - - def register_table_column(column, name, *tables): """ Register a custom column for use on one or more tables.