make sure checkbox widget do not get confused with misc values
This commit is contained in:
parent
2b05ea63e7
commit
45915c0ebf
|
@ -553,7 +553,7 @@ class BoolField(WidgetField):
|
|||
kwargs['disabled'] = 'disabled'
|
||||
value = get_request().get_field(self.field_key)
|
||||
form.add_hidden(self.field_key, value=str(value))
|
||||
if value:
|
||||
if value and not value == 'False':
|
||||
self.field_key = 'f%sdisabled' % self.id
|
||||
get_request().form[self.field_key] = 'yes'
|
||||
self.field_key = 'f%sdisabled' % self.id
|
||||
|
|
|
@ -361,10 +361,16 @@ class CheckboxWidget(quixote.form.CheckboxWidget):
|
|||
required attribute, if required the checkbox will have to be checked.
|
||||
'''
|
||||
def _parse(self, request):
|
||||
quixote.form.CheckboxWidget._parse(self, request=request)
|
||||
self.value = self.name in request.form and not request.form[self.name] in (False, '', 'False')
|
||||
if self.required and not self.value:
|
||||
self.set_error(self.REQUIRED_ERROR)
|
||||
|
||||
def set_value(self, value):
|
||||
if value in (None, False, '', 'False'):
|
||||
self.value = False
|
||||
else:
|
||||
self.value = True
|
||||
|
||||
class UploadedFile:
|
||||
def __init__(self, directory, filename, upload):
|
||||
self.directory = directory
|
||||
|
|
Loading…
Reference in New Issue