handle confusion between bool and str around CheckboxWidget

This commit is contained in:
Frédéric Péters 2012-07-02 10:59:07 +02:00
parent 5499a0bd1a
commit 9cfdec8603
1 changed files with 15 additions and 1 deletions

View File

@ -473,7 +473,7 @@ class BoolField(WidgetField):
if not edit:
kwargs['disabled'] = 'disabled'
value = get_request().get_field(self.field_key)
form.add_hidden(self.field_key, value = value)
form.add_hidden(self.field_key, value=str(value))
if value:
self.field_key = 'f%sdisabled' % self.id
get_request().form[self.field_key] = 'yes'
@ -487,6 +487,20 @@ class BoolField(WidgetField):
else:
return ''
def convert_value_from_str(self, value):
if value is None:
return None
if value in (True, 'True', _('Yes'), 'yes'):
return True
return False
def convert_value_to_str(self, value):
if value is True:
return 'True'
elif value is False:
return 'False'
return value
def stats(self, values):
no_records = len(values)
r = TemplateIO(html = True)