X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/357027375ff8867f42ca34bcbfb5a78b5b185fc3..8952b9530d943655e552ea660c47e850123c5105:/src/ajaxable/templatetags/ajaxable_tags.py diff --git a/src/ajaxable/templatetags/ajaxable_tags.py b/src/ajaxable/templatetags/ajaxable_tags.py index 351e9f13d..2d980f278 100644 --- a/src/ajaxable/templatetags/ajaxable_tags.py +++ b/src/ajaxable/templatetags/ajaxable_tags.py @@ -1,9 +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_text +from django.utils.safestring import mark_safe from ajaxable.utils import placeholdized + + register = template.Library() @@ -15,3 +18,30 @@ def placeholdize(form): @register.filter def placeholdized_ul(form): return placeholdized(form).as_ul() + + +@register.filter +def pretty_field(field, template=None): + if template is None: + template = ''' +
  • + %(errors)s + + %(helptext)s +
  • ''' + return mark_safe(template % { + 'errors': field.errors, + 'input': field, + 'label': ('*' if field.field.required else '') + force_text(field.label), + 'helptext': force_text(field.help_text), + }) + + +@register.filter +def pretty_checkbox(field): + return pretty_field(field, template=''' +
  • + %(errors)s + + %(helptext)s +
  • ''')