Commit a3ab4d6d authored by Michal Čihař's avatar Michal Čihař

Preprare for rendering checkboxes

Signed-off-by: default avatarMichal Čihař <michal@cihar.com>
parent 977de2d5
...@@ -19,8 +19,9 @@ ...@@ -19,8 +19,9 @@
# #
from django.forms.forms import BoundField, Form from django.forms.forms import BoundField, Form
from django.forms.widgets import CheckboxInput
from django.forms.util import ErrorList from django.forms.util import ErrorList
from django.utils.html import format_html, format_html_join from django.utils.html import format_html_join
from django.utils.encoding import force_text from django.utils.encoding import force_text
...@@ -49,7 +50,10 @@ class BootstrapBoundField(BoundField): ...@@ -49,7 +50,10 @@ class BootstrapBoundField(BoundField):
result = set(classes.split()) result = set(classes.split())
else: else:
result = set() result = set()
# TODO: not for checkbox (should have checkbox class) print self.field.widget
if isinstance(self.field.widget, CheckboxInput):
result.add('checkbox')
else:
result.add('form-group') result.add('form-group')
return ' '.join(result) return ' '.join(result)
...@@ -59,7 +63,6 @@ class BootstrapForm(Form): ...@@ -59,7 +63,6 @@ class BootstrapForm(Form):
Adds HTML output in divs and spans. Adds HTML output in divs and spans.
''' '''
def as_div(self): def as_div(self):
# TODO: not for checkbox (should have checkbox class)
return self._html_output( return self._html_output(
normal_row=DIV_TEMPLATE, normal_row=DIV_TEMPLATE,
error_row=u'%s', error_row=u'%s',
...@@ -88,6 +91,7 @@ class BootstrapForm(Form): ...@@ -88,6 +91,7 @@ class BootstrapForm(Form):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
kwargs['error_class'] = BootstrapErrorList kwargs['error_class'] = BootstrapErrorList
super(BootstrapForm, self).__init__(*args, **kwargs) super(BootstrapForm, self).__init__(*args, **kwargs)
# TODO: not for checkbox (should have checkbox class)
for field in self.fields: for field in self.fields:
self.fields[field].widget.attrs['class'] = 'form-control' widget = self.fields[field].widget
if not isinstance(widget, CheckboxInput):
widget.attrs['class'] = 'form-control'
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment