mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-13 05:39:59 +00:00
Fix bug in browser empty repo and encrypted repo
This commit is contained in:
@@ -3,6 +3,9 @@
|
|||||||
{% block nav_home_class %}class="cur"{% endblock %}
|
{% block nav_home_class %}class="cur"{% endblock %}
|
||||||
|
|
||||||
{% block right_panel %}
|
{% block right_panel %}
|
||||||
|
{% if encrypted %}
|
||||||
|
<p>该同步目录已加密,无法在线浏览</p>
|
||||||
|
{% else %}
|
||||||
<h3>文件及目录列表</h3>
|
<h3>文件及目录列表</h3>
|
||||||
{% if dirs %}
|
{% if dirs %}
|
||||||
<table class="repo-list default">
|
<table class="repo-list default">
|
||||||
@@ -29,6 +32,7 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
<p>暂无</p>
|
<p>暂无</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block extra_script %}
|
{% block extra_script %}
|
||||||
|
33
views.py
33
views.py
@@ -323,22 +323,31 @@ def repo_list_dir(request, repo_id):
|
|||||||
raise Http404
|
raise Http404
|
||||||
|
|
||||||
repo = seafserv_threaded_rpc.get_repo(repo_id)
|
repo = seafserv_threaded_rpc.get_repo(repo_id)
|
||||||
if not request.GET.get('root_id'): # No root id..?
|
|
||||||
# ..use HEAD commit's root id
|
dirs = []
|
||||||
commit = seafserv_rpc.get_commit(repo.props.head_cmmt_id)
|
encrypted = repo.props.encrypted
|
||||||
root_id = commit.props.root_id
|
if not encrypted:
|
||||||
else:
|
if not request.GET.get('root_id'): # No root id..?
|
||||||
root_id = request.GET.get('root_id')
|
# ..use HEAD commit's root id
|
||||||
dirs = seafserv_rpc.list_dir(root_id)
|
commit = seafserv_rpc.get_commit(repo.props.head_cmmt_id)
|
||||||
for dirent in dirs:
|
root_id = commit.props.root_id
|
||||||
if stat.S_ISDIR(dirent.props.mode):
|
|
||||||
dirent.is_dir = True
|
|
||||||
else:
|
else:
|
||||||
dirent.is_dir = False
|
root_id = request.GET.get('root_id')
|
||||||
|
|
||||||
|
try:
|
||||||
|
dirs = seafserv_rpc.list_dir(root_id)
|
||||||
|
for dirent in dirs:
|
||||||
|
if stat.S_ISDIR(dirent.props.mode):
|
||||||
|
dirent.is_dir = True
|
||||||
|
else:
|
||||||
|
dirent.is_dir = False
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
return render_to_response('repo_dir.html', {
|
return render_to_response('repo_dir.html', {
|
||||||
"repo_id": repo_id,
|
"repo_id": repo_id,
|
||||||
"dirs": dirs,
|
"dirs": dirs,
|
||||||
|
"encrypted": encrypted,
|
||||||
},
|
},
|
||||||
context_instance=RequestContext(request))
|
context_instance=RequestContext(request))
|
||||||
|
|
||||||
@@ -401,11 +410,9 @@ def repo_list_share(request):
|
|||||||
username = request.user.username
|
username = request.user.username
|
||||||
|
|
||||||
out_repos = seafserv_threaded_rpc.list_share_repos(username, 'from_email', -1, -1)
|
out_repos = seafserv_threaded_rpc.list_share_repos(username, 'from_email', -1, -1)
|
||||||
# in_repos = seafserv_threaded_rpc.list_share_repos(username, 'to_email', -1, -1)
|
|
||||||
|
|
||||||
return render_to_response('share_repos.html', {
|
return render_to_response('share_repos.html', {
|
||||||
"out_repos": out_repos,
|
"out_repos": out_repos,
|
||||||
# "in_repos": in_repos,
|
|
||||||
}, context_instance=RequestContext(request))
|
}, context_instance=RequestContext(request))
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
|
Reference in New Issue
Block a user