changeset 6540:0dbf225439ed

admin: apply LOWER() on journal filtering term for suffix/infix matching Before this revision, LOWER() (via func.lower() of sqlalchemy) isn't applied on journal filtering term for suffix and infix matching, even though it is applied for prefix or immediate value matching. This causes unexpected result with DBMS, which compares strings case- sensitively by default. This revision applies LOWER() on journal filtering term for suffix/infix matching, to filter journal case-insensitively.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sat, 25 Mar 2017 17:35:46 +0900
parents 8d788789b38a
children bacc854a3853
files kallithea/controllers/admin/admin.py
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/controllers/admin/admin.py	Sun Mar 05 17:06:48 2017 +0100
+++ b/kallithea/controllers/admin/admin.py	Sat Mar 25 17:35:46 2017 +0900
@@ -67,12 +67,12 @@
         if wc_term.startswith('*') and not wc_term.endswith('*'):
             #postfix == endswith
             wc_term = remove_prefix(wc_term, prefix='*')
-            return func.lower(col).endswith(wc_term)
+            return func.lower(col).endswith(func.lower(wc_term))
         elif wc_term.startswith('*') and wc_term.endswith('*'):
             #wildcard == ilike
             wc_term = remove_prefix(wc_term, prefix='*')
             wc_term = remove_suffix(wc_term, suffix='*')
-            return func.lower(col).contains(wc_term)
+            return func.lower(col).contains(func.lower(wc_term))
 
     def get_filterion(field, val, term):