From 7910cc6fffc2067784a74f04cb32fadf40bbeb59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 25 Mar 2009 18:24:37 +0100 Subject: [PATCH] Fix domain on many2one with '.' on fields with search function --- trytond/model/modelsql.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/trytond/model/modelsql.py b/trytond/model/modelsql.py index 307dbe00d8..7969331292 100644 --- a/trytond/model/modelsql.py +++ b/trytond/model/modelsql.py @@ -1105,11 +1105,18 @@ class ModelSQL(ModelStorage): field = table._columns.get(fargs[0], False) if len(fargs) > 1: if field._type == 'many2one': - domain[i] = (fargs[0], 'inselect', - self.pool.get(field.model_name).search(cursor, user, - [(fargs[1], domain[i][1], domain[i][2])], - context=context, query_string=True), table) - i += 1 + if hasattr(field, 'search'): + domain.extend([(fargs[0], 'in', + self.pool.get(field.model_name).search(cursor, user, + [(fargs[1], domain[i][1], domain[i][2])], + context=context))]) + domain.pop(i) + else: + domain[i] = (fargs[0], 'inselect', + self.pool.get(field.model_name).search(cursor, user, + [(fargs[1], domain[i][1], domain[i][2])], + context=context, query_string=True), table) + i += 1 continue else: raise Exception('ValidateError', 'Clause on field "%s" ' \