From 9bb9ac3dec72e3d95127c52e6e04459786b7bda4 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Tue, 13 Dec 2022 06:22:57 -0800 Subject: [PATCH] 11077 use formatting for custom field date (#11143) * 11077 use formatting for custom field date * Apply configured date format to column render() method Co-authored-by: jeremystretch --- netbox/netbox/tables/columns.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/netbox/netbox/tables/columns.py b/netbox/netbox/tables/columns.py index 81fdaa20f..0987b8821 100644 --- a/netbox/netbox/tables/columns.py +++ b/netbox/netbox/tables/columns.py @@ -7,6 +7,7 @@ from django.contrib.auth.models import AnonymousUser from django.db.models import DateField, DateTimeField from django.template import Context, Template from django.urls import reverse +from django.utils.dateparse import parse_date from django.utils.encoding import escape_uri_path from django.utils.html import escape from django.utils.formats import date_format @@ -50,6 +51,10 @@ class DateColumn(tables.DateColumn): tables and null when exporting data. It is registered in the tables library to use this class instead of the default, making this behavior consistent in all fields of type DateField. """ + def render(self, value): + if value: + return date_format(value, format="SHORT_DATE_FORMAT") + def value(self, value): return value @@ -455,6 +460,8 @@ class CustomFieldColumn(tables.Column): )) if self.customfield.type == CustomFieldTypeChoices.TYPE_LONGTEXT and value: return render_markdown(value) + if self.customfield.type == CustomFieldTypeChoices.TYPE_DATE and value: + return date_format(parse_date(value), format="SHORT_DATE_FORMAT") if value is not None: obj = self.customfield.deserialize(value) return mark_safe(self._linkify_item(obj))