Skip to content

Commit b426c31

Browse files
committed
Merge branch 'release/4.8.1'
2 parents 373526d + 572ae16 commit b426c31

File tree

6 files changed

+33
-6
lines changed

6 files changed

+33
-6
lines changed

HISTORY.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ History
44
-------
55

66

7+
4.8.1 (2014-07-10)
8+
++++++++++++++++++
9+
10+
* Make extra classes override bootstrap defaults
11+
12+
13+
4.8.0 (2014-07-10)
14+
++++++++++++++++++
15+
16+
* Introduced new setting `set_placeholder`, default True
17+
18+
719
4.7.1 (2014-07-07)
820
++++++++++++++++++
921

bootstrap3/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# -*- coding: utf-8 -*-
22

3-
__version__ = '4.8.0'
3+
__version__ = '4.8.1'

bootstrap3/html.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@ def split_css_classes(css_classes):
1717
return [c for c in classes_list if c]
1818

1919

20-
def add_css_class(css_classes, css_class):
20+
def add_css_class(css_classes, css_class, prepend=False):
2121
"""
2222
Add a CSS class to a string of CSS classes
2323
"""
2424
classes_list = split_css_classes(css_classes)
25-
for c in split_css_classes(css_class):
26-
if c not in classes_list:
27-
classes_list.append(c)
25+
classes_to_add = [c for c in split_css_classes(css_class) if c not in classes_list]
26+
if prepend:
27+
classes_list = classes_to_add + classes_list
28+
else:
29+
classes_list += classes_to_add
2830
return ' '.join(classes_list)
2931

3032

bootstrap3/renderers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ def add_class_attrs(self):
203203
RadioSelect,
204204
CheckboxSelectMultiple,
205205
FileInput)):
206-
classes = add_css_class(classes, 'form-control')
206+
classes = add_css_class(classes, 'form-control', prepend=True)
207207
# For these widget types, add the size class here
208208
classes = add_css_class(classes, self.get_size_class())
209209
self.widget.attrs['class'] = classes

bootstrap3/tests.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
from .exceptions import BootstrapError
99

10+
from .html import add_css_class
11+
1012

1113
RADIO_CHOICES = (
1214
('1', 'Radio 1'),
@@ -304,3 +306,14 @@ def __str__(self):
304306
</div>
305307
"""
306308
self.assertEqual(res.strip(), expected.strip())
309+
310+
311+
class HtmlTest(TestCase):
312+
def test_add_css_class(self):
313+
css_classes = "one two"
314+
css_class = "three four"
315+
classes = add_css_class(css_classes, css_class)
316+
self.assertEqual(classes, "one two three four")
317+
318+
classes = add_css_class(css_classes, css_class, prepend=True)
319+
self.assertEqual(classes, "three four one two")

setup.py

100644100755
File mode changed.

0 commit comments

Comments
 (0)