Test both reverse operations to invalidate ratio and divisor

When the value has repeating decimal, the comparison may fail for one
comparison but we must consider as valid value.

issue8966
review265001002
This commit is contained in:
Cédric Krier committed 2020-01-20 11:06:23 +01:00
1 parent d0ab1eca5e
commit 24b737b229
1 file changed
+4 -5
+4 -5
View File
@@ -222,11 +222,10 @@ class PaymentTermLine(sequence_ordered(), ModelSQL, ModelView):
gettext('account_invoice'
'.msg_payment_term_invalid_ratio_divisor',
line=line.rec_name))
ratio = line.ratio
divisor = line.divisor
line.on_change_ratio()
line.on_change_divisor()
if (line.divisor != divisor) or (line.ratio != ratio):
if (line.ratio != round(
1 / line.divisor, cls.ratio.digits[1])
and line.divisor != round(
1 / line.ratio, cls.divisor.digits[1])):
raise PaymentTermValidationError(
gettext('account_invoice'
'.msg_payment_term_invalid_ratio_divisor',