use more info from sort table, fixes #2953
This commit is contained in:
parent
c08ce51db2
commit
2157b719ec
1 changed files with 8 additions and 7 deletions
|
@ -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:
|
||||||
|
|
Loading…
Reference in a new issue