Debug: order_by
This commit is contained in:
parent
6851a0702b
commit
98aee3a6dc
2 changed files with 22 additions and 11 deletions
|
|
@ -2,7 +2,7 @@ import hashlib
|
||||||
import os
|
import os
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from flask_sqlalchemy import inspect
|
from flask_sqlalchemy import inspect
|
||||||
from sqlalchemy import asc, or_
|
from sqlalchemy import asc, desc, or_
|
||||||
from .users_model import Users, db
|
from .users_model import Users, db
|
||||||
from .logs_model import Logs
|
from .logs_model import Logs
|
||||||
|
|
||||||
|
|
@ -277,11 +277,11 @@ def db_admin_update_user(ip, user_id, is_admin, password):
|
||||||
return {'status': 1, 'message': message}
|
return {'status': 1, 'message': message}
|
||||||
|
|
||||||
|
|
||||||
def db_users(ip, user_id, query, by='email,nickname', id=None, is_admin=None, order_by='email'):
|
def db_users(ip, user_id, query, by='email,nickname', id=None, is_admin=None, order_by='email,asc'):
|
||||||
# q= or id =
|
# q= or id =
|
||||||
# if q= then by= (default: email,nickname) or email or nickname
|
# if q= then by= (default: email,nickname) or email or nickname
|
||||||
# is_admin =
|
# is_admin =
|
||||||
# order_by = (default: email), nickname, id, is_admin
|
# order_by = (default: email,asc), (nickname,asc), (id,desc), (is_admin,desc)
|
||||||
|
|
||||||
users = Users.query
|
users = Users.query
|
||||||
if query is id and query is not None:
|
if query is id and query is not None:
|
||||||
|
|
@ -314,14 +314,25 @@ def db_users(ip, user_id, query, by='email,nickname', id=None, is_admin=None, or
|
||||||
if is_admin is not None:
|
if is_admin is not None:
|
||||||
users = users.filter(Users.is_admin == is_admin)
|
users = users.filter(Users.is_admin == is_admin)
|
||||||
|
|
||||||
if order_by == 'nickname':
|
order_by = order_by.split(',')
|
||||||
users = users.order_by(asc(Users.nickname))
|
if order_by[0] == 'nickname':
|
||||||
elif order_by == 'id':
|
order = Users.nickname
|
||||||
users = users.order_by(asc(Users.id))
|
elif order_by[0] == 'id':
|
||||||
elif order_by == 'is_admin':
|
order = Users.id
|
||||||
users = users.order_by(asc(Users.is_admin))
|
elif order_by[0] == 'is_admin':
|
||||||
|
order = Users.is_admin
|
||||||
else:
|
else:
|
||||||
users = users.order_by(asc(Users.email))
|
order = Users.email
|
||||||
|
|
||||||
|
if len(order_by) > 1:
|
||||||
|
if order_by[1] == 'asc':
|
||||||
|
users = users.order_by(asc(order))
|
||||||
|
elif order_by[1] == 'desc':
|
||||||
|
users = users.order_by(desc(order))
|
||||||
|
else:
|
||||||
|
users = users.order_by(asc(order))
|
||||||
|
else:
|
||||||
|
users = users.order_by(asc(order))
|
||||||
|
|
||||||
users = users.all()
|
users = users.all()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -330,7 +330,7 @@ def users():
|
||||||
get_by = request.args.get('by')
|
get_by = request.args.get('by')
|
||||||
get_id = request.args.get('id')
|
get_id = request.args.get('id')
|
||||||
get_is_admin = request.args.get('is_admin')
|
get_is_admin = request.args.get('is_admin')
|
||||||
get_order_by = request.args.get('get_order_by')
|
get_order_by = request.args.get('order_by')
|
||||||
res = db_users(ip, user_id, get_query, get_by, get_id, get_is_admin, get_order_by)
|
res = db_users(ip, user_id, get_query, get_by, get_id, get_is_admin, get_order_by)
|
||||||
if res['status'] == 1:
|
if res['status'] == 1:
|
||||||
return send_error(500, res['message'])
|
return send_error(500, res['message'])
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue