Merge lp:~yann-papouin/openobject-server/7.0-bug-1049653-translatable-unaccent into lp:openobject-server/7.0

Proposed by Yann Papouin
Status: Needs review
Proposed branch: lp:~yann-papouin/openobject-server/7.0-bug-1049653-translatable-unaccent
Merge into: lp:openobject-server/7.0
Diff against target: 27 lines (+12/-5)
1 file modified
openerp/osv/expression.py (+12/-5)
To merge this branch: bzr merge lp:~yann-papouin/openobject-server/7.0-bug-1049653-translatable-unaccent
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+210149@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

5257. By Damián Soriano (damiansoriano)

[FIX] --unaccent parameter does not work

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openerp/osv/expression.py'
2--- openerp/osv/expression.py 2014-02-03 12:05:25 +0000
3+++ openerp/osv/expression.py 2014-03-10 08:59:05 +0000
4@@ -1046,11 +1046,18 @@
5 ' FROM "' + working_model._table + '"' \
6 ' WHERE "' + left + '" ' + sql_operator + ' ' + " (" + instr + "))"
7 else:
8- subselect += ' AND value ' + sql_operator + instr + \
9- ') UNION (' \
10- ' SELECT id' \
11- ' FROM "' + working_model._table + '"' \
12- ' WHERE "' + left + '" ' + sql_operator + instr + ")"
13+ if self.has_unaccent and sql_operator in ('ilike', 'not ilike'):
14+ subselect += ' AND unaccent(value) ' + sql_operator + ' unaccent(' + instr + \
15+ ')) UNION (' \
16+ ' SELECT id' \
17+ ' FROM "' + working_model._table + '"' \
18+ ' WHERE unaccent("' + left + '") ' + sql_operator + ' unaccent(' + instr + '))'
19+ else:
20+ subselect += ' AND value ' + sql_operator + instr + \
21+ ') UNION (' \
22+ ' SELECT id' \
23+ ' FROM "' + working_model._table + '"' \
24+ ' WHERE "' + left + '" ' + sql_operator + instr + ")"
25
26 params = [working_model._name + ',' + left,
27 context.get('lang', False) or 'en_US',