diff --git a/tryton/pyson.py b/tryton/pyson.py index 967e5e0bde..b1fd6b9b59 100644 --- a/tryton/pyson.py +++ b/tryton/pyson.py @@ -279,8 +279,17 @@ class Greater(PYSON): def types(self): return set([bool]) + @staticmethod + def _convert(dct): + for i in ('s1', 's2'): + if not isinstance(dct[i], (int, long, float)): + dct = dct.copy() + dct[i] = float(dct[i]) + return dct + @staticmethod def eval(dct, context): + dct = Greater._convert(dct) if dct['e']: return dct['s1'] >= dct['s2'] else: @@ -296,6 +305,7 @@ class Less(Greater): @staticmethod def eval(dct, context): + dct = Less._convert(dct) if dct['e']: return dct['s1'] <= dct['s2'] else: