add: orders in administration
This commit is contained in:
parent
3212bf762f
commit
e3fddf4ae8
@ -110,7 +110,7 @@ class Comments:
|
|||||||
return dict(comment_count)
|
return dict(comment_count)
|
||||||
|
|
||||||
def fetchall(self, mode=5, after=0, parent='any', order_by='id',
|
def fetchall(self, mode=5, after=0, parent='any', order_by='id',
|
||||||
limit=100, page=0):
|
limit=100, page=0, asc=1):
|
||||||
"""
|
"""
|
||||||
Return comments for admin with :param:`mode`.
|
Return comments for admin with :param:`mode`.
|
||||||
"""
|
"""
|
||||||
@ -138,10 +138,16 @@ class Comments:
|
|||||||
|
|
||||||
# custom sanitization
|
# custom sanitization
|
||||||
if order_by not in ['id', 'created', 'modified', 'likes', 'dislikes', 'tid']:
|
if order_by not in ['id', 'created', 'modified', 'likes', 'dislikes', 'tid']:
|
||||||
order_by = 'id'
|
sql.append('ORDER BY ')
|
||||||
sql.append('ORDER BY ')
|
sql.append("comments.created")
|
||||||
sql.append('comments.' + order_by + ", comments.created")
|
if not asc:
|
||||||
sql.append(' DESC')
|
sql.append(' DESC')
|
||||||
|
else:
|
||||||
|
sql.append('ORDER BY ')
|
||||||
|
sql.append('comments.' + order_by)
|
||||||
|
if not asc:
|
||||||
|
sql.append(' DESC')
|
||||||
|
sql.append(", comments.created")
|
||||||
|
|
||||||
if limit:
|
if limit:
|
||||||
sql.append('LIMIT ?,?')
|
sql.append('LIMIT ?,?')
|
||||||
|
@ -61,17 +61,17 @@ function delete_com(com_id, hash) {
|
|||||||
<div class="outer">
|
<div class="outer">
|
||||||
<div class="filters">
|
<div class="filters">
|
||||||
<div class="mode">
|
<div class="mode">
|
||||||
<a href="?mode=1&page={{page}}">
|
<a href="?mode=1&page={{page}}&order_by={{order_by}}">
|
||||||
<span class="label label-valid {% if mode == 1 %}active{% endif %}">
|
<span class="label label-valid {% if mode == 1 %}active{% endif %}">
|
||||||
Valid ({{counts.get(1, 0)}})
|
Valid ({{counts.get(1, 0)}})
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="?mode=2&page={{page}}">
|
<a href="?mode=2&page={{page}}&order_by={{order_by}}">
|
||||||
<span class="label label-pending {% if mode == 2 %}active{% endif %}">
|
<span class="label label-pending {% if mode == 2 %}active{% endif %}">
|
||||||
Pending ({{counts.get(2, 0)}})
|
Pending ({{counts.get(2, 0)}})
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="?mode=4&page={{page}}">
|
<a href="?mode=4&page={{page}}&order_by={{order_by}}">
|
||||||
<span class="label label-staled {% if mode == 4 %}active{% endif %}">
|
<span class="label label-staled {% if mode == 4 %}active{% endif %}">
|
||||||
Staled ({{counts.get(4, 0)}})
|
Staled ({{counts.get(4, 0)}})
|
||||||
</span>
|
</span>
|
||||||
@ -93,8 +93,24 @@ function delete_com(com_id, hash) {
|
|||||||
»
|
»
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
/ {{ max_page }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="filters order">
|
||||||
|
Order:
|
||||||
|
{% for order in ['id', 'created', 'modified', 'likes', 'dislikes'] %}
|
||||||
|
<a href="?mode={{mode}}&page={{page}}&order_by={{order}}&asc={{1 - asc}}">
|
||||||
|
<span class="label label-valid {% if order == order_by %}active{% endif %}">
|
||||||
|
{{ order }}
|
||||||
|
{% if order == order_by %}
|
||||||
|
{% if asc %} ↑ {% else %} ↓ {% endif %}
|
||||||
|
{% else %}
|
||||||
|
↓
|
||||||
|
{% endif %}
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<main>
|
<main>
|
||||||
{% set thread_id = "no_id" %}
|
{% set thread_id = "no_id" %}
|
||||||
|
@ -520,11 +520,13 @@ class API(object):
|
|||||||
return render_template('login.html')
|
return render_template('login.html')
|
||||||
page_size = 100
|
page_size = 100
|
||||||
page = int(req.args.get('page', 0))
|
page = int(req.args.get('page', 0))
|
||||||
order_by = req.args.get('order_by', "id")
|
order_by = req.args.get('order_by', None)
|
||||||
|
asc = int(req.args.get('asc', 1))
|
||||||
mode = int(req.args.get('mode', 2))
|
mode = int(req.args.get('mode', 2))
|
||||||
comments = self.comments.fetchall(mode=mode, page=page,
|
comments = self.comments.fetchall(mode=mode, page=page,
|
||||||
limit=page_size,
|
limit=page_size,
|
||||||
order_by=order_by)
|
order_by=order_by,
|
||||||
|
asc=asc)
|
||||||
comments_enriched = []
|
comments_enriched = []
|
||||||
for comment in list(comments):
|
for comment in list(comments):
|
||||||
comment['hash'] = self.isso.sign(comment['id'])
|
comment['hash'] = self.isso.sign(comment['id'])
|
||||||
@ -535,4 +537,4 @@ class API(object):
|
|||||||
page=int(page), mode=int(mode),
|
page=int(page), mode=int(mode),
|
||||||
conf=self.conf, max_page=max_page,
|
conf=self.conf, max_page=max_page,
|
||||||
counts=comment_mode_count,
|
counts=comment_mode_count,
|
||||||
order_by=order_by)
|
order_by=order_by, asc=asc)
|
||||||
|
Loading…
Reference in New Issue
Block a user