From a0010fdf131af25aa935c46f47372c3f1a4c9d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 7 Sep 2017 21:00:28 +0200 Subject: [PATCH] Allow to encode Decimal in ViewSearch issue6744 review35621002 --- tryton/common/common.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tryton/common/common.py b/tryton/common/common.py index 83fb58c5e9..827a71653a 100644 --- a/tryton/common/common.py +++ b/tryton/common/common.py @@ -12,6 +12,7 @@ import re import logging import unicodedata import colorsys +from decimal import Decimal from functools import partial from tryton.config import CONFIG from tryton.config import TRYTON_ICON, PIXMAPS_DIR @@ -175,6 +176,14 @@ MODELHISTORY = ModelHistory() class ViewSearch(object): searches = {} + def __init__(self): + class Encoder(PYSONEncoder): + def default(self, obj): + if isinstance(obj, Decimal): + return float(obj) + return super(Encoder, self).default(obj) + self.encoder = Encoder() + def load_searches(self): try: self.searches = rpc.execute('model', 'ir.ui.view_search', @@ -191,7 +200,7 @@ class ViewSearch(object): 'create', [{ 'model': model, 'name': name, - 'domain': PYSONEncoder().encode(domain), + 'domain': self.encoder.encode(domain), }]) except RPCException: return