# HG changeset patch # User FUJIWARA Katsunori # Date 2017-03-25 09:35:46 # Node ID 0dbf225439ed883519851c3baec8a0e7e399c2ab # Parent 8d788789b38a485ed5505295d33f32621048a318 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. diff --git a/kallithea/controllers/admin/admin.py b/kallithea/controllers/admin/admin.py --- a/kallithea/controllers/admin/admin.py +++ b/kallithea/controllers/admin/admin.py @@ -67,12 +67,12 @@ def _journal_filter(user_log, search_ter 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):