From 274ea2733e6bdff1f7937bc232c0adffaaa2a404 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 24 Jan 2009 19:48:18 +0100 Subject: [PATCH] Add missing fuzzy test in _where_calc and _order_calc for issue697 --- trytond/osv/orm.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/trytond/osv/orm.py b/trytond/osv/orm.py index dbd065a7e6..e82e52721e 100644 --- a/trytond/osv/orm.py +++ b/trytond/osv/orm.py @@ -2756,6 +2756,7 @@ class ORM(object): query1 = '(SELECT res_id FROM ir_translation ' \ 'WHERE name = %s AND lang = %s ' \ 'AND type = %s ' \ + 'AND fuzzy = false ' \ 'AND (value ' + args[i][1] + ' %s ' \ + oper +' value ' + args[i][1] + ' %s))' query2 = [table._name + ',' + args[i][0], @@ -3014,9 +3015,11 @@ class ORM(object): 'AS "%s" ON ' \ '(%s.name = ir_model.model||\',%s\' ' \ 'AND %s.lang = %%s ' \ - 'AND %s.type = \'model\')' % \ + 'AND %s.type = \'model\' ' \ + 'AND %s.fuzzy = false)' % \ (translation_table, translation_table, field_name, - translation_table, translation_table) + translation_table, translation_table, + translation_table) elif self._name == 'ir.model.field': if field_name == 'field_description': ttype = 'field' @@ -3030,20 +3033,23 @@ class ORM(object): 'AS "%s" ON ' \ '(%s.name = ir_model.model||\',\'||%s.name ' \ 'AND %s.lang = %%s ' \ - 'AND %s.type = \'%s\')' % \ + 'AND %s.type = \'%s\' ' \ + 'AND %s.fuzzy = false)' % \ (translation_table, translation_table, table_name, translation_table, translation_table, - ttype) + ttype, translation_table) else: table_join = 'LEFT JOIN "ir_translation" ' \ 'AS "%s" ON ' \ '(%s.res_id = %s.id ' \ 'AND %s.name = \'%s,%s\' ' \ 'AND %s.lang = %%s ' \ - 'AND %s.type = \'model\')' % \ + 'AND %s.type = \'model\' ' \ + 'AND %s.fuzzy = false)' % \ (translation_table, translation_table, table_name, translation_table, self._name, field_name, - translation_table, translation_table) + translation_table, translation_table, + translation_table) if table_join not in tables: tables.append(table_join) tables_args[table_join] = [context.get('language') or 'en_US']