Support multiple sort options
For dashboards and the change list. Change-Id: I47236f346d6fa3debd334ccfbfd3da9aea1f3db4
This commit is contained in:
parent
7016d319e7
commit
fca4d23465
|
@ -54,7 +54,8 @@ class ConfigSchema(object):
|
||||||
|
|
||||||
servers = [server]
|
servers = [server]
|
||||||
|
|
||||||
sort_by = v.Any('number', 'updated', 'last-seen')
|
_sort_by = v.Any('number', 'updated', 'last-seen')
|
||||||
|
sort_by = v.Any(_sort_by, [_sort_by])
|
||||||
|
|
||||||
text_replacement = {'text': v.Any(str,
|
text_replacement = {'text': v.Any(str,
|
||||||
{'color': str,
|
{'color': str,
|
||||||
|
|
15
gertty/db.py
15
gertty/db.py
|
@ -881,14 +881,17 @@ class DatabaseSession(object):
|
||||||
def getChanges(self, query, unreviewed=False, sort_by='number'):
|
def getChanges(self, query, unreviewed=False, sort_by='number'):
|
||||||
self.database.log.debug("Search query: %s sort: %s" % (query, sort_by))
|
self.database.log.debug("Search query: %s sort: %s" % (query, sort_by))
|
||||||
q = self.session().query(Change).filter(self.search.parse(query))
|
q = self.session().query(Change).filter(self.search.parse(query))
|
||||||
|
if not isinstance(sort_by, (list, tuple)):
|
||||||
|
sort_by = [sort_by]
|
||||||
if unreviewed:
|
if unreviewed:
|
||||||
q = q.filter(change_table.c.hidden==False, change_table.c.reviewed==False)
|
q = q.filter(change_table.c.hidden==False, change_table.c.reviewed==False)
|
||||||
if sort_by == 'updated':
|
for s in sort_by:
|
||||||
q = q.order_by(change_table.c.updated)
|
if s == 'updated':
|
||||||
elif sort_by == 'last-seen':
|
q = q.order_by(change_table.c.updated)
|
||||||
q = q.order_by(change_table.c.last_seen)
|
elif s == 'last-seen':
|
||||||
else:
|
q = q.order_by(change_table.c.last_seen)
|
||||||
q = q.order_by(change_table.c.number)
|
elif s == 'number':
|
||||||
|
q = q.order_by(change_table.c.number)
|
||||||
self.database.log.debug("Search SQL: %s" % q)
|
self.database.log.debug("Search SQL: %s" % q)
|
||||||
try:
|
try:
|
||||||
return q.all()
|
return q.all()
|
||||||
|
|
Loading…
Reference in New Issue