From eb9d69959469d2041b34dbd1a827b8882cc0505c Mon Sep 17 00:00:00 2001 From: Maciej Tronowski Date: Fri, 24 Apr 2015 10:32:56 +0200 Subject: [PATCH] format xml task description --- qcg/templates/qcg/task.html | 2 +- qcg/templatetags/qcg_utils.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/qcg/templates/qcg/task.html b/qcg/templates/qcg/task.html index d490fd6..18df41a 100644 --- a/qcg/templates/qcg/task.html +++ b/qcg/templates/qcg/task.html @@ -68,7 +68,7 @@
-
{{ task.description }}
+
{{ task.description|format_xml }}
diff --git a/qcg/templatetags/qcg_utils.py b/qcg/templatetags/qcg_utils.py index a1b6b52..e176eb3 100644 --- a/qcg/templatetags/qcg_utils.py +++ b/qcg/templatetags/qcg_utils.py @@ -1,8 +1,9 @@ from datetime import datetime, timedelta +from xml.dom import minidom from django import template from django.conf import settings -from django.utils.html import format_html, format_html_join +from django.utils.html import format_html, format_html_join, conditional_escape from django.utils.timesince import timesince from django.utils.timezone import now @@ -40,3 +41,9 @@ def get_params_as_hidden(context, *params): def bootstrap_checkbox(field, label_class=settings.BOOTSTRAP3['horizontal_label_class'], field_class=settings.BOOTSTRAP3['horizontal_field_class']): return {'field': field, 'label_class': label_class, 'field_class': field_class} + + +@register.filter(needs_autoescape=True) +def format_xml(string, autoescape=None): + esc = conditional_escape if autoescape else lambda x: x + return esc(minidom.parseString(string).toprettyxml(indent=' ')) -- 1.7.9.5