Skip to content

Commit 22ddd60

Browse files
committed
datetimepicker will not be initalized only when options is False
1 parent af6fa18 commit 22ddd60

File tree

2 files changed

+22
-18
lines changed

2 files changed

+22
-18
lines changed

bootstrap3_datetime/widgets.py

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,21 @@ def conv_datetime_format_js2py(cls, format):
5656
for js, py in cls.format_map:
5757
format = format.replace(js, py)
5858
return format
59+
60+
html_template = '''
61+
<div%(div_attrs)s>
62+
<input%(input_attrs)s/>
63+
<span class="input-group-addon">
64+
<span%(icon_attrs)s></span>
65+
</span>
66+
</div>'''
67+
68+
js_template = '''
69+
<script>
70+
$(function() {
71+
$("#%(picker_id)s").datetimepicker(%(options)s);
72+
});
73+
</script>'''
5974

6075
def __init__(self, attrs=None, format=None, options=None, div_attrs=None, icon_attrs=None):
6176
if not icon_attrs:
@@ -70,7 +85,7 @@ def __init__(self, attrs=None, format=None, options=None, div_attrs=None, icon_a
7085
self.div_attrs = div_attrs and div_attrs.copy() or {}
7186
self.icon_attrs = icon_attrs and icon_attrs.copy() or {}
7287
self.picker_id = self.div_attrs.get('id') or None
73-
if not options: # datetimepicker will not be initalized
88+
if options == False: # datetimepicker will not be initalized only when options is False
7489
self.options = False
7590
else:
7691
self.options = options and options.copy() or {}
@@ -93,23 +108,12 @@ def render(self, name, value, attrs=None):
93108
div_attrs = dict(
94109
[(key, conditional_escape(val)) for key, val in self.div_attrs.items()]) # python2.6 compatible
95110
icon_attrs = dict([(key, conditional_escape(val)) for key, val in self.icon_attrs.items()])
96-
html = '''
97-
<div%(div_attrs)s>
98-
<input%(input_attrs)s/>
99-
<span class="input-group-addon">
100-
<span%(icon_attrs)s></span>
101-
</span>
102-
</div>''' % dict(div_attrs=flatatt(div_attrs),
103-
input_attrs=flatatt(input_attrs),
104-
icon_attrs=flatatt(icon_attrs))
111+
html = self.html_template % dict(div_attrs=flatatt(div_attrs),
112+
input_attrs=flatatt(input_attrs),
113+
icon_attrs=flatatt(icon_attrs))
105114
if not self.options:
106115
js = ''
107116
else:
108-
js = '''
109-
<script>
110-
$(function() {
111-
$("#%(picker_id)s").datetimepicker(%(options)s);
112-
});
113-
</script>''' % dict(picker_id=picker_id,
114-
options=json.dumps(self.options or {}))
117+
js = self.js_template % dict(picker_id=picker_id,
118+
options=json.dumps(self.options or {}))
115119
return mark_safe(force_text(html + js))

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
'static/bootstrap3_datetime/js/*.js',
99
'static/bootstrap3_datetime/js/locales/*.js',]},
1010
include_package_data=True,
11-
version='2.0.0',
11+
version='2.1.0',
1212
description='Bootstrap3 compatible datetimepicker for Django projects.',
1313
long_description=open('README.rst').read(),
1414
author='Nakahara Kunihiko',

0 commit comments

Comments
 (0)