From 0888df17b0406c1c77d8f50cc2ba653ba66746e0 Mon Sep 17 00:00:00 2001 From: martez81 Date: Sat, 30 May 2015 14:14:42 -0400 Subject: [PATCH] Modified shadowing classes to define widget property instead of passing widget explicitly in constructor. This fixes issue with assigninig different widget by user. --- wtformsparsleyjs/core.py | 54 +++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/wtformsparsleyjs/core.py b/wtformsparsleyjs/core.py index 34a22d8..f428b9b 100644 --- a/wtformsparsleyjs/core.py +++ b/wtformsparsleyjs/core.py @@ -2,7 +2,7 @@ __author__ = 'Johannes Gehrs (jgehrs@gmail.com)' import re import copy -import json +import json from wtforms.validators import Length, NumberRange, Email, EqualTo, IPAddress, \ Regexp, URL, AnyOf, Optional, InputRequired, MacAddress, UUID, NoneOf @@ -226,68 +226,94 @@ class StringField(_StringField): class IntegerField(_IntegerField): + widget = TextInput() + def __init__(self, *args, **kwargs): - super(IntegerField, self).__init__(widget=TextInput(), *args, **kwargs) + super(IntegerField, self).__init__(*args, **kwargs) class RadioField(_RadioField): + widget = _ListWidget() + def __init__(self, *args, **kwargs): - super(RadioField, self).__init__(widget=_ListWidget(), *args, **kwargs) + super(RadioField, self).__init__(*args, **kwargs) widget_kwargs = parsley_kwargs(self, {}) self.option_widget = RadioInput(widget_kwargs) class BooleanField(_BooleanField): + widget = CheckboxInput() + def __init__(self, *args, **kwargs): - super(BooleanField, self).__init__(widget=CheckboxInput(), *args, **kwargs) + super(BooleanField, self).__init__(*args, **kwargs) class DecimalField(_DecimalField): + widget = TextInput() + def __init__(self, *args, **kwargs): - super(DecimalField, self).__init__(widget=TextInput(), *args, **kwargs) + super(DecimalField, self).__init__(*args, **kwargs) class FloatField(_FloatField): + widget = TextInput() + def __init__(self, *args, **kwargs): - super(FloatField, self).__init__(widget=TextInput(), *args, **kwargs) + super(FloatField, self).__init__(*args, **kwargs) class PasswordField(_PasswordField): + widget = PasswordInput() + def __init__(self, *args, **kwargs): - super(PasswordField, self).__init__(widget=PasswordInput(), *args, **kwargs) + super(PasswordField, self).__init__(*args, **kwargs) class HiddenField(_PasswordField): + widget = HiddenInput() + def __init__(self, *args, **kwargs): - super(HiddenField, self).__init__(widget=HiddenInput(), *args, **kwargs) + super(HiddenField, self).__init__(*args, **kwargs) class TextAreaField(_TextAreaField): + widget = TextArea() + def __init__(self, *args, **kwargs): - super(TextAreaField, self).__init__(widget=TextArea(), *args, **kwargs) + super(TextAreaField, self).__init__(*args, **kwargs) class SelectField(_SelectField): + widget = Select() + def __init__(self, *args, **kwargs): - super(SelectField, self).__init__(widget=Select(), *args, **kwargs) + super(SelectField, self).__init__(*args, **kwargs) class DateTimeField(_DateTimeField): + widget = TextInput() + def __init__(self, *args, **kwargs): - super(DateTimeField, self).__init__(widget=TextInput(), *args, **kwargs) + super(DateTimeField, self).__init__(*args, **kwargs) class DateField(_DateField): + widget = TextInput() + def __init__(self, *args, **kwargs): - super(DateField, self).__init__(widget=TextInput(), *args, **kwargs) + super(DateField, self).__init__(*args, **kwargs) class FileField(_FileField): + widget = FileInput() + def __init__(self, *args, **kwargs): - super(FileField, self).__init__(widget=FileInput(), *args, **kwargs) + super(FileField, self).__init__(*args, **kwargs) class SelectMultipleField(_SelectMultipleField): + widget = Select(multiple=True) + def __init__(self, *args, **kwargs): - super(SelectMultipleField, self).__init__(widget=Select(multiple=True), *args, **kwargs) + super(SelectMultipleField, self).__init__(*args, **kwargs)