from django import template from django.forms import Form import re register = template.Library() @register.filter def has_required_fields(form): for field in form: if isinstance(field, Form): if has_required_fields(field): return True if field.field.required: return True return False @register.filter def any_is_void(invoices): for invoice in invoices: if invoice.is_void: return True return False @register.simple_tag def listlookup(lookup, target): try: return lookup[target] except IndexError: return '' @register.filter def clean_text(txt): # Remove double/triple/+ spaces from `txt` and replace with single space return re.sub(r' {2,}' , ' ', txt) @register.filter def twitter_handle(txt): # Add @ to twitter handle if not present return txt if txt.startswith('@') else '@{}'.format(txt)