[PATCH 2/2] forms: 'False' != False
Stephen Finucane
stephen at that.guru
Sat Dec 24 06:43:35 AEDT 2016
Forms cast boolean values to strings, and attempting to coerce using the
'bool' function does not correctly return them to true boolean values.
Correct this by doing a string comparison instead.
Signed-off-by: Stephen Finucane <stephen at that.guru>
Fixes: 0abde97aa ("forms: Use TypedChoiceField")
---
patchwork/forms.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/patchwork/forms.py b/patchwork/forms.py
index 56f1d86..f42a224 100644
--- a/patchwork/forms.py
+++ b/patchwork/forms.py
@@ -178,9 +178,10 @@ class MultiplePatchForm(forms.Form):
action = 'update'
state = OptionalModelChoiceField(queryset=State.objects.all())
archived = OptionalBooleanField(
- choices=[('*', 'no change'), (True, 'Archived'),
- (False, 'Unarchived')],
- coerce=bool, empty_value='*')
+ choices=[('*', 'no change'), ('True', 'Archived'),
+ ('False', 'Unarchived')],
+ coerce=lambda x: x == 'True',
+ empty_value='*')
def __init__(self, project, *args, **kwargs):
super(MultiplePatchForm, self).__init__(*args, **kwargs)
--
2.9.3
More information about the Patchwork
mailing list