X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;ds=sidebyside;f=bluechips%2Fwidgets%2F__init__.py;h=6e8ec966ce71d2e029d554d0f9bd9b865ac9ea62;hb=9458527642fab328a945d06daed04404c1ae2091;hp=3509ee2cf478a83080dcdfe103c1299e5560d0b3;hpb=587c0c50395a5e87a77867d2a34c6e4ce7a6923e;p=bluechips.git diff --git a/bluechips/widgets/__init__.py b/bluechips/widgets/__init__.py index 3509ee2..6e8ec96 100644 --- a/bluechips/widgets/__init__.py +++ b/bluechips/widgets/__init__.py @@ -5,7 +5,7 @@ from tw.forms import validators from bluechips import model from bluechips.model import meta -from decimal import Decimal +from bluechips.model.types import Currency class UserSelect(forms.SingleSelectField): @staticmethod @@ -28,9 +28,9 @@ class AmountField(forms.TextField): size = 8 validator = validators.All( validators.Wrapper( - to_python=Decimal, - from_python=str), - validators.Regex(r'^[0-9]*(\.[0-9]{2})?$', not_empty=True)) + to_python=(lambda x: Currency(float(x) * 100)), + from_python=Currency.__str_no_dollar__), + validators.Regex(r'^\-?[0-9]*(\.[0-9]{2})?$')) # This is virtually copied from formencode.validator.FieldsMatch, but # I wanted my own version for fields that shouldn't match