Просмотр исходного кода

Closes #7118: Render URL custom fields as hyperlinks in object tables

jeremystretch 4 лет назад
Родитель
Сommit
3cf1d6baf4
2 измененных файлов с 5 добавлено и 0 удалено
  1. 1 0
      docs/release-notes/version-3.0.md
  2. 4 0
      netbox/utilities/tables.py

+ 1 - 0
docs/release-notes/version-3.0.md

@@ -4,6 +4,7 @@
 
 ### Enhancements
 
+* [#7118](https://github.com/netbox-community/netbox/issues/7118) - Render URL custom fields as hyperlinks in object tables
 * [#7323](https://github.com/netbox-community/netbox/issues/7323) - Add serial filter field for racks & devices
 
 ### Bug Fixes

+ 4 - 0
netbox/utilities/tables.py

@@ -11,6 +11,7 @@ from django_tables2 import RequestConfig
 from django_tables2.data import TableQuerysetData
 from django_tables2.utils import Accessor
 
+from extras.choices import CustomFieldTypeChoices
 from extras.models import CustomField
 from .utils import content_type_name
 from .paginator import EnhancedPaginator, get_paginate_count
@@ -355,6 +356,9 @@ class CustomFieldColumn(tables.Column):
     def render(self, value):
         if isinstance(value, list):
             return ', '.join(v for v in value)
+        elif self.customfield.type == CustomFieldTypeChoices.TYPE_URL:
+            # Linkify custom URLs
+            return mark_safe(f'<a href="{value}">{value}</a>')
         return value or self.default