Update: Filter Search (tested)
This commit is contained in:
parent
f46f7ba4f9
commit
1d7947b91b
1 changed files with 42 additions and 51 deletions
|
|
@ -281,20 +281,11 @@ def db_users(ip, user_id, query, by='email,nickname', id=None, is_admin=None, or
|
|||
# q= or id =
|
||||
# if q= then by= (default: email,nickname) or email or nickname
|
||||
# is_admin =
|
||||
# order_by = email, nickname, id, is_admin
|
||||
# order_by = (default: email), nickname, id, is_admin
|
||||
|
||||
users = Users.query
|
||||
if query is not id:
|
||||
if query:
|
||||
if query and by:
|
||||
if by == 'email':
|
||||
users = users.filter(Users.email.like(query))
|
||||
elif by == 'nickname':
|
||||
users = users.filter(Users.nickname.like(query))
|
||||
else:
|
||||
users = users.filter(or_(Users.nickname.like('%'+query+'%'), Users.email.like('%'+query+'%')))
|
||||
else:
|
||||
message = 'Need q and by field if using query and not id'
|
||||
if query is id and query is not None:
|
||||
message = 'Query or id field'
|
||||
db_create_log(
|
||||
ip=ip,
|
||||
action='users',
|
||||
|
|
@ -305,8 +296,20 @@ def db_users(ip, user_id, query, by='email,nickname', id=None, is_admin=None, or
|
|||
id_user=user_id
|
||||
)
|
||||
return {'status': 1, 'message': message}
|
||||
|
||||
if query and by:
|
||||
if by == 'email':
|
||||
users = users.filter(Users.email.like('%' + query + '%'))
|
||||
elif by == 'nickname':
|
||||
users = users.filter(Users.nickname.like('%' + query + '%'))
|
||||
else:
|
||||
users = users.filter(or_(Users.nickname.like('%' + query + '%'), Users.email.like('%' + query + '%')))
|
||||
elif query and not by:
|
||||
users = users.filter(or_(Users.nickname.like('%' + query + '%'), Users.email.like('%' + query + '%')))
|
||||
elif id:
|
||||
users = users.filter(Users.id == id)
|
||||
else:
|
||||
pass
|
||||
|
||||
if is_admin is not None:
|
||||
users = users.filter(Users.is_admin == is_admin)
|
||||
|
|
@ -333,15 +336,3 @@ def db_users(ip, user_id, query, by='email,nickname', id=None, is_admin=None, or
|
|||
id_user=user_id
|
||||
)
|
||||
return {'status': 0, 'message': message, 'data': [user.json() for user in users]}
|
||||
else:
|
||||
message = 'Query or id field'
|
||||
db_create_log(
|
||||
ip=ip,
|
||||
action='users',
|
||||
message=message,
|
||||
has_succeeded=False,
|
||||
status_code=1,
|
||||
table='users',
|
||||
id_user=user_id
|
||||
)
|
||||
return {'status': 1, 'message': message}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue