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