# HG changeset patch # User Thomas De Schampheleire # Date 2018-02-02 15:52:53 # Node ID 3971715302b10a143df5b292d74d86c158f30b44 # Parent 33bd2aa757dd9d66a3e7f6b7be8c27bbd54db1ad home: make sure users and group autocomplete is case insensitive Both SQLite and MySQL have a case-insensitive LIKE operator by default, but PostgreSQL does not. As a result, a query for 'john' does not match the user 'John Doe'. As case-insensitivity is most user-friendly in the context of autocompletion of users and groups, switch to the ilike() method of SQLAlchemy rather than like(). diff --git a/kallithea/controllers/home.py b/kallithea/controllers/home.py --- a/kallithea/controllers/home.py +++ b/kallithea/controllers/home.py @@ -173,9 +173,9 @@ class HomeController(BaseController): .filter(User.is_default_user == False) \ .filter(User.active == True) \ .filter(or_( - User.username.like("%%"+query+"%%"), - User.name.like("%%"+query+"%%"), - User.lastname.like("%%"+query+"%%"), + User.username.ilike("%%"+query+"%%"), + User.name.ilike("%%"+query+"%%"), + User.lastname.ilike("%%"+query+"%%"), )) \ .order_by(User.username) \ .limit(500) \ @@ -198,7 +198,7 @@ class HomeController(BaseController): grp_list = [grp] elif query: grp_list = UserGroup.query() \ - .filter(UserGroup.users_group_name.like("%%"+query+"%%")) \ + .filter(UserGroup.users_group_name.ilike("%%"+query+"%%")) \ .filter(UserGroup.users_group_active == True) \ .order_by(UserGroup.users_group_name) \ .limit(500) \