1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-23 04:18:21 +00:00

[jstree] list dir first, and sort dir/files

This commit is contained in:
llj
2014-04-02 21:10:50 +08:00
parent 6065ba9be0
commit 30ce3bb441

View File

@@ -95,6 +95,7 @@ def get_dirents(request, repo_id):
for d in ele_path_dirents:
if stat.S_ISDIR(d.mode):
ds.append(d.obj_name)
ds.sort(lambda x, y : cmp(x.lower(), y.lower()))
all_dirents.append(ds)
return HttpResponse(json.dumps(all_dirents), content_type=content_type)
@@ -104,7 +105,9 @@ def get_dirents(request, repo_id):
except SearpcError, e:
return HttpResponse(json.dumps({"err_msg": e.msg}), status=500,
content_type=content_type)
dirent_list = []
d_list = []
f_list = []
for dirent in dirents:
if stat.S_ISDIR(dirent.mode):
dirent.has_subdir = False
@@ -125,20 +128,20 @@ def get_dirents(request, repo_id):
'id': dirent.obj_id,
'type': 'dir',
'has_subdir': dirent.has_subdir, # to decide node 'state' ('closed' or not) in jstree
'repo_id': repo_id,
}
dirent_list.append(subdir)
d_list.append(subdir)
else:
if not dir_only:
f = {
'repo_id': repo_id,
'id': dirent.obj_id,
'name': dirent.obj_name,
'type': 'file',
}
dirent_list.append(f)
f_list.append(f)
return HttpResponse(json.dumps(dirent_list), content_type=content_type)
d_list.sort(lambda x, y : cmp(x['name'].lower(), y['name'].lower()))
f_list.sort(lambda x, y : cmp(x['name'].lower(), y['name'].lower()))
return HttpResponse(json.dumps(d_list + f_list), content_type=content_type)
@login_required
def get_unenc_group_repos(request, group_id):