diff options
| author | A.Avenel <avenel.alexandre@gmail.com> | 2011-11-02 14:35:38 +0100 |
|---|---|---|
| committer | A.Avenel <avenel.alexandre@gmail.com> | 2011-11-02 14:35:38 +0100 |
| commit | 94ab8fbcc35969f7b659bd1e7810074cd7f51fb4 (patch) | |
| tree | 97a8428fdfc7f7a9d6cb698e7758ce6b9d0522de /budget/forms.py | |
| parent | 342a80e22515bf94d8bb0b03bb9efde50e48c2e6 (diff) | |
| download | ihatemoney-mirror-94ab8fbcc35969f7b659bd1e7810074cd7f51fb4.zip ihatemoney-mirror-94ab8fbcc35969f7b659bd1e7810074cd7f51fb4.tar.gz ihatemoney-mirror-94ab8fbcc35969f7b659bd1e7810074cd7f51fb4.tar.bz2 | |
Part of a fix to #62 : french numbers should use commas rather than dots
Diffstat (limited to 'budget/forms.py')
| -rw-r--r-- | budget/forms.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/budget/forms.py b/budget/forms.py index 7342762..713bcfb 100644 --- a/budget/forms.py +++ b/budget/forms.py @@ -45,6 +45,11 @@ def get_billform_for(project, set_default=True, **kwargs): form.set_default() return form +class CommaDecimalField(DecimalField): + """A class to deal with comma in Decimal Field""" + def process_formdata(self, value): + value[0] = str(value[0]).replace(',', '.') + return super(CommaDecimalField, self).process_formdata(value) class EditProjectForm(Form): @@ -102,7 +107,7 @@ class BillForm(Form): date = DateField(_("Date"), validators=[Required()], default=datetime.now) what = TextField(_("What?"), validators=[Required()]) payer = SelectField(_("Payer"), validators=[Required()], coerce=int) - amount = DecimalField(_("Amount paid"), validators=[Required()]) + amount = CommaDecimalField(_("Amount paid"), validators=[Required()]) payed_for = SelectMultipleField(_("For whom?"), validators=[Required()], widget=select_multi_checkbox, coerce=int) submit = SubmitField(_("Send the bill")) @@ -129,7 +134,9 @@ class BillForm(Form): def validate_amount(self, field): if field.data < 0: - raise ValidationError(_("Bills can't be negative")) + field.data = abs(field.data) + elif field.data == 0: + raise ValidationError(_("Bills can't be null")) class MemberForm(Form): |
