From e61b2b1fc5069ddf2f1c04cb76c3cb2454e775e7 Mon Sep 17 00:00:00 2001 From: maxime-gerges-external Date: Thu, 3 Jun 2021 14:48:18 +0200 Subject: [PATCH] feat: markdown support in report's description * markdown support in report list and report result pages * Add notes in the documentation regarding markdown --- docs/additional-features/reports.md | 6 ++++++ netbox/templates/extras/report.html | 2 +- netbox/templates/extras/report_list.html | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/additional-features/reports.md b/docs/additional-features/reports.md index bac1003fd..3df1ff900 100644 --- a/docs/additional-features/reports.md +++ b/docs/additional-features/reports.md @@ -85,6 +85,9 @@ As you can see, reports are completely customizable. Validation logic can be as !!! warning Reports should never alter data: If you find yourself using the `create()`, `save()`, `update()`, or `delete()` methods on objects within reports, stop and re-evaluate what you're trying to accomplish. Note that there are no safeguards against the accidental alteration or destruction of data. +!!! note + The `description`attribute support markdown syntax. You can use markdown to print fency description in the report list page. + The following methods are available to log results within a report: * log(message) @@ -95,6 +98,9 @@ The following methods are available to log results within a report: The recording of one or more failure messages will automatically flag a report as failed. It is advised to log a success for each object that is evaluated so that the results will reflect how many objects are being reported on. (The inclusion of a log message is optional for successes.) Messages recorded with `log()` will appear in a report's results but are not associated with a particular object or status. +!!! note + Every `log_`methods support markdown syntax. Thus you can use markdown in the message and it will be printed as such in the report result. + To perform additional tasks, such as sending an email or calling a webhook, after a report has been run, extend the `post_run()` method. The status of the report is available as `self.failed` and the results object is `self.result`. Once you have created a report, it will appear in the reports list. Initially, reports will have no results associated with them. To generate results, run the report. diff --git a/netbox/templates/extras/report.html b/netbox/templates/extras/report.html index f2c5edf23..82c3f3042 100644 --- a/netbox/templates/extras/report.html +++ b/netbox/templates/extras/report.html @@ -29,7 +29,7 @@ {% endif %}

{{ report.name }}

{% if report.description %} -

{{ report.description }}

+

{{ report.description|render_markdown }}

{% endif %} {% endblock %} diff --git a/netbox/templates/extras/report_list.html b/netbox/templates/extras/report_list.html index 7685cdacf..525a40d12 100644 --- a/netbox/templates/extras/report_list.html +++ b/netbox/templates/extras/report_list.html @@ -29,7 +29,7 @@ {% include 'extras/inc/job_label.html' with result=report.result %} - {{ report.description|placeholder }} + {{ report.description|render_markdown|placeholder }} {% if report.result %} {{ report.result.created }}