from bluechips import model
from bluechips.model import meta
-from bluechips.lib.base import _
-
-from decimal import Decimal
+from bluechips.model.types import Currency
class UserSelect(forms.SingleSelectField):
@staticmethod
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
__unpackargs__ = ('*', 'field_names')
messages = {
- 'invalid': _("Fields match")
+ 'invalid': "Fields match"
}
def validate_partial(self, field_dict, state):