From 0fae7504b31106d701641b55d19ba393d6a97975 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 29 Mar 2021 09:43:21 -0400 Subject: [PATCH] Add Markdown support for JournalEntry comments --- netbox/extras/tables.py | 47 +++++++++------------ netbox/project-static/css/base.css | 3 ++ netbox/templates/extras/object_journal.html | 10 +++-- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/netbox/extras/tables.py b/netbox/extras/tables.py index cd0ecbb36..b973d16fc 100644 --- a/netbox/extras/tables.py +++ b/netbox/extras/tables.py @@ -103,32 +103,6 @@ class ObjectChangeTable(BaseTable): fields = ('time', 'user_name', 'action', 'changed_object_type', 'object_repr', 'request_id') -class JournalEntryTable(BaseTable): - pk = ToggleColumn() - created = tables.DateTimeColumn( - format=settings.SHORT_DATETIME_FORMAT - ) - assigned_object_type = ContentTypeColumn( - verbose_name='Object type' - ) - assigned_object = tables.Column( - linkify=True, - orderable=False, - verbose_name='Object' - ) - kind = ChoiceFieldColumn() - actions = ButtonsColumn( - model=JournalEntry, - buttons=('edit', 'delete') - ) - - class Meta(BaseTable.Meta): - model = JournalEntry - fields = ( - 'pk', 'created', 'created_by', 'assigned_object_type', 'assigned_object', 'kind', 'comments', 'actions' - ) - - class ObjectJournalTable(BaseTable): """ Used for displaying a set of JournalEntries within the context of a single object. @@ -137,6 +111,9 @@ class ObjectJournalTable(BaseTable): format=settings.SHORT_DATETIME_FORMAT ) kind = ChoiceFieldColumn() + comments = tables.TemplateColumn( + template_code='{% load helpers %}{{ value|render_markdown }}' + ) actions = ButtonsColumn( model=JournalEntry, buttons=('edit', 'delete') @@ -145,3 +122,21 @@ class ObjectJournalTable(BaseTable): class Meta(BaseTable.Meta): model = JournalEntry fields = ('created', 'created_by', 'kind', 'comments', 'actions') + + +class JournalEntryTable(ObjectJournalTable): + pk = ToggleColumn() + assigned_object_type = ContentTypeColumn( + verbose_name='Object type' + ) + assigned_object = tables.Column( + linkify=True, + orderable=False, + verbose_name='Object' + ) + + class Meta(BaseTable.Meta): + model = JournalEntry + fields = ( + 'pk', 'created', 'created_by', 'assigned_object_type', 'assigned_object', 'kind', 'comments', 'actions' + ) diff --git a/netbox/project-static/css/base.css b/netbox/project-static/css/base.css index 8887fb6b6..2efa3978f 100644 --- a/netbox/project-static/css/base.css +++ b/netbox/project-static/css/base.css @@ -165,6 +165,9 @@ table.attr-table td:nth-child(1) { td.min-width { width: 1%; } +td p:last-child { + margin-bottom: 0; +} /* Paginator */ div.paginator { diff --git a/netbox/templates/extras/object_journal.html b/netbox/templates/extras/object_journal.html index 6c50ca547..226726284 100644 --- a/netbox/templates/extras/object_journal.html +++ b/netbox/templates/extras/object_journal.html @@ -18,10 +18,12 @@
{% render_field form.kind %} {% render_field form.comments %} -
-
- - Cancel +
+
+ + Cancel +
+