fixes
[wolnelektury.git] / src / ajaxable / templatetags / ajaxable_tags.py
index c262a92..a9a308d 100644 (file)
@@ -1,11 +1,12 @@
-# -*- coding: utf-8 -*-
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
 from django import template
+from django.utils.encoding import force_str
 from django.utils.safestring import mark_safe
-
 from ajaxable.utils import placeholdized
+
+
 register = template.Library()
 
 
@@ -26,8 +27,14 @@ def pretty_field(field, template=None):
             <li>
               <span class="error">%(errors)s</span>
               <label class="nohide"><span class="label">%(label)s: </span>%(input)s</label>
+              <span class="helptext">%(helptext)s</span>
             </li>'''
-    return mark_safe(template % {'errors': field.errors, 'input': field, 'label': field.label})
+    return mark_safe(template % {
+        'errors': field.errors,
+        'input': field,
+        'label': ('*' if field.field.required else '') + force_str(field.label),
+        'helptext': force_str(field.help_text),
+    })
 
 
 @register.filter
@@ -36,4 +43,5 @@ def pretty_checkbox(field):
         <li class="checkbox">
           <span class="error">%(errors)s</span>
           <label class="nohide">%(input)s<span class="label"> %(label)s</span></label>
+          <span class="helptext">%(helptext)s</span>
         </li>''')