summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
authorJoseph Kocherhans <joseph@jkocherhans.com>2010-02-23 23:48:44 +0000
committerJoseph Kocherhans <joseph@jkocherhans.com>2010-02-23 23:48:44 +0000
commitd75e23ce9ba57af9e63a824a54249bbfb0edce99 (patch)
treec0e7fec06e19a5bccb6ce784f53f077a310d1257 /django/forms
parent778b7bcd19c3ac540412b6f9c5888cb9f1e28d89 (diff)
[1.1.X] Fixed #9336. Changed CheckboxInput to render 'True' and 'False' input strings as checked or not instead of as a value attribute. Backport of r12556 from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12557 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/forms')
-rw-r--r--django/forms/widgets.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/django/forms/widgets.py b/django/forms/widgets.py
index a759581205..a39c19872e 100644
--- a/django/forms/widgets.py
+++ b/django/forms/widgets.py
@@ -384,7 +384,12 @@ class CheckboxInput(Widget):
# A missing value means False because HTML form submission does not
# send results for unselected checkboxes.
return False
- return super(CheckboxInput, self).value_from_datadict(data, files, name)
+ value = data.get(name)
+ # Translate true and false strings to boolean values.
+ values = {'true': True, 'false': False}
+ if isinstance(value, basestring):
+ value = values.get(value.lower(), value)
+ return value
def _has_changed(self, initial, data):
# Sometimes data or initial could be None or u'' which should be the