Skip to content
Snippets Groups Projects
Commit 7888e01c authored by Jacek Lebioda's avatar Jacek Lebioda
Browse files

add_class filter correction

parent 85e7f767
No related branches found
No related tags found
No related merge requests found
...@@ -5,9 +5,14 @@ register = template.Library() ...@@ -5,9 +5,14 @@ register = template.Library()
@register.filter(name='add_class') @register.filter(name='add_class')
def add_class(value, arg): def add_class(value, arg):
# Get all the field's initial css-classes
css_classes = value.field.widget.attrs.get('class', ' ').split(' ') css_classes = value.field.widget.attrs.get('class', ' ').split(' ')
if css_classes and arg not in css_classes: # Filter out zero-length class names ('')
css_classes = '%s %s' % (css_classes, arg) css_classes = filter(lambda x: len(x) > 0, css_classes)
# Convert list to string
css_classes = reduce(lambda a, x: "%s %s" % (a, x), css_classes, "")
css_classes = '%s %s' % (css_classes, arg)
# Return the widget with freshly crafted classes
return value.as_widget(attrs={'class': css_classes}) return value.as_widget(attrs={'class': css_classes})
@register.filter(name='disable') @register.filter(name='disable')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment