1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

re-enable markup in longtext custom columns

This commit is contained in:
Christoph Schneider
2022-08-13 13:54:38 +02:00
parent 9a80a491c9
commit f942216f3f
2 changed files with 12 additions and 1 deletions
netbox/netbox/tables

@ -418,6 +418,14 @@ class CustomFieldColumn(tables.Column):
"""
Display custom fields in the appropriate format.
"""
template_code = """
{% if value %}
{{ value|markdown }}
{% else %}
—
{% endif %}
"""
def __init__(self, customfield, *args, **kwargs):
self.customfield = customfield
kwargs['accessor'] = Accessor(f'custom_field_data__{customfield.name}')
@ -445,6 +453,8 @@ class CustomFieldColumn(tables.Column):
return mark_safe(', '.join(
self._likify_item(obj) for obj in self.customfield.deserialize(value)
))
if self.customfield.type == CustomFieldTypeChoices.TYPE_LONGTEXT:
return Template(self.template_code).render(Context({"value": value}))
if value is not None:
obj = self.customfield.deserialize(value)
return mark_safe(self._likify_item(obj))

@ -181,7 +181,8 @@ class NetBoxTable(BaseTable):
content_type = ContentType.objects.get_for_model(self._meta.model)
custom_fields = CustomField.objects.filter(content_types=content_type)
extra_columns.extend([
(f'cf_{cf.name}', columns.CustomFieldMarkdownColumn(cf) if cf.type == CustomFieldTypeChoices.TYPE_LONGTEXT else columns.CustomFieldColumn(cf)) for cf in custom_fields
# (f'cf_{cf.name}', columns.CustomFieldMarkdownColumn(cf) if cf.type == CustomFieldTypeChoices.TYPE_LONGTEXT else columns.CustomFieldColumn(cf)) for cf in custom_fields
(f'cf_{cf.name}', columns.CustomFieldColumn(cf)) for cf in custom_fields
])
custom_links = CustomLink.objects.filter(content_type=content_type, enabled=True)
extra_columns.extend([