]> asedeno.scripts.mit.edu Git - bluechips.git/commitdiff
don't enter a non-zero currency amount
authorScott Torborg <scott@crookedmedia.com>
Fri, 6 Nov 2009 03:45:45 +0000 (17:45 -1000)
committerScott Torborg <scott@crookedmedia.com>
Fri, 6 Nov 2009 03:45:45 +0000 (17:45 -1000)
bluechips/model/types.py

index fdd3b8bd4c6ce1c622960c0df02827a4965427c3..5423de9a2ea47188aa8fe02806953a9215414634 100644 (file)
@@ -38,7 +38,8 @@ locale.localeconv = localeconv
 class CurrencyValidator(validators.FancyValidator):
     "A validator to convert to Currency objects."
     messages = {'amount': "Please enter a valid currency amount",
 class CurrencyValidator(validators.FancyValidator):
     "A validator to convert to Currency objects."
     messages = {'amount': "Please enter a valid currency amount",
-                'precision': "Only two digits after the decimal, please"}
+                'precision': "Only two digits after the decimal, please",
+                'nonzero': "Please enter a non-zero amount"}
 
     def _to_python(self, value, state):
         try:
 
     def _to_python(self, value, state):
         try:
@@ -48,7 +49,10 @@ class CurrencyValidator(validators.FancyValidator):
                           value, state)
         else:
             ret = dec.quantize(Decimal('1.00'))
                           value, state)
         else:
             ret = dec.quantize(Decimal('1.00'))
-            if ret != dec:
+            if ret == 0:
+                raise Invalid(self.message('nonzero', state),
+                              value, state)
+            elif ret != dec:
                 raise Invalid(self.message('precision', state),
                               value, state)
             else:
                 raise Invalid(self.message('precision', state),
                               value, state)
             else: