Skip to content

Commit e8fe538

Browse files
committed
fix more CheckBox annoyances
1 parent ec8f5f1 commit e8fe538

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

web/form.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ def get(self, i, default=None):
106106
return default
107107

108108
def _get_d(self): #@@ should really be form.attr, no?
109-
return utils.storage([(i.name, i.value) for i in self.inputs])
109+
return utils.storage([(i.name, i.get_value()) for i in self.inputs])
110110
d = property(_get_d)
111111

112112
class Input(object):
@@ -148,6 +148,9 @@ def validate(self, value):
148148
def set_value(self, value):
149149
self.value = value
150150

151+
def get_value(self):
152+
return self.value
153+
151154
def render(self):
152155
attrs = self.attrs.copy()
153156
attrs['type'] = self.get_type()
@@ -281,7 +284,8 @@ def __init__(self, name, *validators, **attrs):
281284
Input.__init__(self, name, *validators, **attrs)
282285

283286
def get_default_id(self):
284-
return self.name + '_' + self.value.replace(' ', '_')
287+
value = self.value or ""
288+
return self.name + '_' + value.replace(' ', '_')
285289

286290
def render(self):
287291
attrs = self.attrs.copy()
@@ -297,6 +301,9 @@ def set_value(self, value):
297301
if value:
298302
self.checked = True
299303

304+
def get_value(self):
305+
return self.checked
306+
300307
class Button(Input):
301308
def __init__(self, name, *validators, **attrs):
302309
super(Button, self).__init__(name, *validators, **attrs)

0 commit comments

Comments
 (0)