Fixed #17888 -- no longer silence exceptions inside of check_test. Thanks to brutasse for the patch.

This commit is contained in:
Alex Gaynor 2012-09-07 14:37:21 -04:00
parent e4ea536774
commit 6a5a12ea3e
3 changed files with 9 additions and 13 deletions

View file

@ -507,11 +507,7 @@ class CheckboxInput(Widget):
def render(self, name, value, attrs=None):
final_attrs = self.build_attrs(attrs, type='checkbox', name=name)
try:
result = self.check_test(value)
except: # Silently catch exceptions
result = False
if result:
if self.check_test(value):
final_attrs['checked'] = 'checked'
if not (value is True or value is False or value is None or value == ''):
# Only add the 'value' attribute if a value is non-empty.
@ -525,7 +521,7 @@ class CheckboxInput(Widget):
return False
value = data.get(name)
# Translate true and false strings to boolean values.
values = {'true': True, 'false': False}
values = {'true': True, 'false': False}
if isinstance(value, six.string_types):
value = values.get(value.lower(), value)
return value