Fix KeyError when raising digits validation error.

issue3970
review8411002
This commit is contained in:
Sergi Almacellas Abellana committed 2014-06-06 19:15:03 +02:00
1 parent f7133b8670
commit f55e2c07d2
1 file changed
+4 -3
+4 -3
View File
@@ -1000,9 +1000,10 @@ class ModelStorage(Model):
error_args=error_args)
def digits_test(value, digits, field_name):
def raise_user_error():
def raise_user_error(value):
error_args = cls._get_error_args(field_name)
error_args['digits'] = digits[1]
error_args['value'] = value
cls.raise_user_error('digits_validation_record',
error_args=error_args)
if value is None:
@@ -1010,10 +1011,10 @@ class ModelStorage(Model):
if isinstance(value, Decimal):
if (value.quantize(Decimal(str(10.0 ** -digits[1])))
!= value):
raise_user_error()
raise_user_error(value)
elif CONFIG.options['db_type'] != 'mysql':
if not (round(value, digits[1]) == float(value)):
raise_user_error()
raise_user_error(value)
# validate digits
if hasattr(field, 'digits') and field.digits:
if is_pyson(field.digits):