mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-23 12:27:48 +00:00
[jstree] list dir first, and sort dir/files
This commit is contained in:
@@ -95,6 +95,7 @@ def get_dirents(request, repo_id):
|
|||||||
for d in ele_path_dirents:
|
for d in ele_path_dirents:
|
||||||
if stat.S_ISDIR(d.mode):
|
if stat.S_ISDIR(d.mode):
|
||||||
ds.append(d.obj_name)
|
ds.append(d.obj_name)
|
||||||
|
ds.sort(lambda x, y : cmp(x.lower(), y.lower()))
|
||||||
all_dirents.append(ds)
|
all_dirents.append(ds)
|
||||||
return HttpResponse(json.dumps(all_dirents), content_type=content_type)
|
return HttpResponse(json.dumps(all_dirents), content_type=content_type)
|
||||||
|
|
||||||
@@ -104,7 +105,9 @@ def get_dirents(request, repo_id):
|
|||||||
except SearpcError, e:
|
except SearpcError, e:
|
||||||
return HttpResponse(json.dumps({"err_msg": e.msg}), status=500,
|
return HttpResponse(json.dumps({"err_msg": e.msg}), status=500,
|
||||||
content_type=content_type)
|
content_type=content_type)
|
||||||
dirent_list = []
|
|
||||||
|
d_list = []
|
||||||
|
f_list = []
|
||||||
for dirent in dirents:
|
for dirent in dirents:
|
||||||
if stat.S_ISDIR(dirent.mode):
|
if stat.S_ISDIR(dirent.mode):
|
||||||
dirent.has_subdir = False
|
dirent.has_subdir = False
|
||||||
@@ -125,20 +128,20 @@ def get_dirents(request, repo_id):
|
|||||||
'id': dirent.obj_id,
|
'id': dirent.obj_id,
|
||||||
'type': 'dir',
|
'type': 'dir',
|
||||||
'has_subdir': dirent.has_subdir, # to decide node 'state' ('closed' or not) in jstree
|
'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:
|
else:
|
||||||
if not dir_only:
|
if not dir_only:
|
||||||
f = {
|
f = {
|
||||||
'repo_id': repo_id,
|
|
||||||
'id': dirent.obj_id,
|
'id': dirent.obj_id,
|
||||||
'name': dirent.obj_name,
|
'name': dirent.obj_name,
|
||||||
'type': 'file',
|
'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
|
@login_required
|
||||||
def get_unenc_group_repos(request, group_id):
|
def get_unenc_group_repos(request, group_id):
|
||||||
|
Reference in New Issue
Block a user