diff --git a/templates/repo_dir.html b/templates/repo_dir.html index b8fdb6261d..ef74f66f16 100644 --- a/templates/repo_dir.html +++ b/templates/repo_dir.html @@ -3,6 +3,9 @@ {% block nav_home_class %}class="cur"{% endblock %} {% block right_panel %} +{% if encrypted %} +

该同步目录已加密,无法在线浏览

+{% else %}

文件及目录列表

{% if dirs %} @@ -29,6 +32,7 @@ {% else %}

暂无

{% endif %} +{% endif %} {% endblock %} {% block extra_script %} diff --git a/views.py b/views.py index aee9f8ee54..2d80e5ce28 100644 --- a/views.py +++ b/views.py @@ -323,22 +323,31 @@ def repo_list_dir(request, repo_id): raise Http404 repo = seafserv_threaded_rpc.get_repo(repo_id) - if not request.GET.get('root_id'): # No root id..? - # ..use HEAD commit's root id - commit = seafserv_rpc.get_commit(repo.props.head_cmmt_id) - root_id = commit.props.root_id - else: - root_id = request.GET.get('root_id') - dirs = seafserv_rpc.list_dir(root_id) - for dirent in dirs: - if stat.S_ISDIR(dirent.props.mode): - dirent.is_dir = True + + dirs = [] + encrypted = repo.props.encrypted + if not encrypted: + if not request.GET.get('root_id'): # No root id..? + # ..use HEAD commit's root id + commit = seafserv_rpc.get_commit(repo.props.head_cmmt_id) + root_id = commit.props.root_id 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', { "repo_id": repo_id, "dirs": dirs, + "encrypted": encrypted, }, context_instance=RequestContext(request)) @@ -401,11 +410,9 @@ def repo_list_share(request): username = request.user.username 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', { "out_repos": out_repos, -# "in_repos": in_repos, }, context_instance=RequestContext(request)) @login_required