use more info from sort table, fixes #2953

This commit is contained in:
j 2016-08-09 15:06:44 +02:00
parent c08ce51db2
commit 2157b719ec

View file

@ -225,15 +225,18 @@ def find(request, data):
clips = qs clips = qs
return [c.json(query['clip_keys'], query['clip_filter']) for c in clips] return [c.json(query['clip_keys'], query['clip_filter']) for c in clips]
sort_keys = {
'accessed', 'modified', 'timesaccessed',
'numberofannotations', 'numberoffiles', 'numberofdocuments'
}
def only_p_sums(m): def only_p_sums(m):
r = {} r = {}
for p in _p: for p in _p:
if p == 'accessed': if p == 'accessed':
r[p] = m.sort.accessed or '' r[p] = m.sort.accessed or ''
elif p == 'modified': elif p in sort_keys:
r[p] = m.sort.modified r[p] = getattr(m.sort, p)
elif p == 'timesaccessed':
r[p] = m.sort.timesaccessed
else: else:
r[p] = m.json.get(p) r[p] = m.json.get(p)
if 'clip_qs' in query: if 'clip_qs' in query:
@ -252,9 +255,7 @@ def find(request, data):
return r return r
qs = qs[query['range'][0]:query['range'][1]] qs = qs[query['range'][0]:query['range'][1]]
# response['data']['items'] = [m.get_json(_p) for m in qs] # response['data']['items'] = [m.get_json(_p) for m in qs]
if filter(lambda p: p in ( if any(p for p in _p if p in sort_keys):
'accessed', 'modified', 'timesaccessed', 'viewed'
), _p):
qs = qs.select_related() qs = qs.select_related()
response['data']['items'] = [only_p_sums(m) for m in qs] response['data']['items'] = [only_p_sums(m) for m in qs]
else: else: