From 9db575ae9343c137278d77e8b33bed6ca38a1e2e Mon Sep 17 00:00:00 2001 From: Aevann Date: Sun, 7 Apr 2024 06:35:20 +0200 Subject: [PATCH] allow JL5 to search users by email --- files/routes/search.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/files/routes/search.py b/files/routes/search.py index 385b49dca..fe9cd846b 100644 --- a/files/routes/search.py +++ b/files/routes/search.py @@ -403,17 +403,18 @@ def searchusers(v): if 'q' in criteria: term = criteria['q'][0] - term = sanitize_username(term) - users = users.filter( - or_( - User.username.ilike(f'%{term}%'), - User.original_username.ilike(f'%{term}%'), - User.extra_username.ilike(f'%{term}%'), - User.prelock_username.ilike(f'%{term}%'), - ) - ).order_by(User.username.ilike(term).desc(), User.stored_subscriber_count.desc()) + or_criteria = [ + User.username.ilike(f'%{term}%'), + User.original_username.ilike(f'%{term}%'), + User.extra_username.ilike(f'%{term}%'), + User.prelock_username.ilike(f'%{term}%'), + ] + if v.admin_level >= PERMS['VIEW_EMAILS']: + or_criteria.append(User.email.ilike(f'%{term}%')) + + users = users.filter(or_(*or_criteria)).order_by(User.username.ilike(term).desc(), User.stored_subscriber_count.desc()) total = users.count()