From 82bc90b8ff140aedbb4e4ab19801a12ce3cdcefa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 20 Mar 2012 17:53:26 +0100 Subject: [PATCH] Allow to use Greater/Less PYSON with Decimal --- tryton/pyson.py | 10 ++++++++++ 1 file changed, 10 insertions(+) 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: