diff --git a/seahub/share/templates/share/list_priv_shared_folders.html b/seahub/share/templates/share/list_priv_shared_folders.html
index 75c862f0c2..78386e3d52 100644
--- a/seahub/share/templates/share/list_priv_shared_folders.html
+++ b/seahub/share/templates/share/list_priv_shared_folders.html
@@ -20,7 +20,7 @@
{% for repo in shared_folders %}
 |
- {{ repo.props.repo_name }} |
+ {{ repo.props.repo_name }} |
{{ repo.props.user | email2nickname }} |
diff --git a/seahub/share/urls.py b/seahub/share/urls.py
index aa5f06da84..ae3e95dd57 100644
--- a/seahub/share/urls.py
+++ b/seahub/share/urls.py
@@ -6,7 +6,6 @@ urlpatterns = patterns('',
url(r'^$', list_shared_repos, name='share_admin'),
url(r'^links/$', list_shared_links, name='list_shared_links'),
url(r'^folders/$', list_priv_shared_folders, name='list_priv_shared_folders'),
- url(r'^folders/(?P [-0-9a-f]{36})/$', view_priv_shared_folder, name='view_priv_shared_folder'),
url(r'^add/$', share_repo, name='share_repo'),
url(r'^remove/$', repo_remove_share, name='repo_remove_share'),
diff --git a/seahub/share/views.py b/seahub/share/views.py
index f937c3c880..27d8ce7671 100644
--- a/seahub/share/views.py
+++ b/seahub/share/views.py
@@ -626,25 +626,6 @@ def list_priv_shared_folders(request):
'shared_folders': shared_folders,
}, context_instance=RequestContext(request))
-@login_required
-def view_priv_shared_folder(request, repo_id):
- """
-
- Arguments:
- - `request`:
- - `repo_id`:
- """
- repo = seafile_api.get_repo(repo_id)
- if repo is None:
- raise Http404
-
- if not repo.is_virtual:
- raise Http404
-
- url = reverse('view_common_lib_dir',
- args=[repo.origin_repo_id, repo.origin_path.strip('/')])
- return HttpResponseRedirect(url)
-
@login_required_ajax
def share_permission_admin(request):
"""Change repo share permission in ShareAdmin.
diff --git a/tests/seahub/share/views/test_list_priv_shared_folders.py b/tests/seahub/share/views/test_list_priv_shared_folders.py
new file mode 100644
index 0000000000..2db9447df0
--- /dev/null
+++ b/tests/seahub/share/views/test_list_priv_shared_folders.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+import os
+
+from django.utils.http import urlquote
+from django.core.urlresolvers import reverse
+
+from seaserv import seafile_api
+
+from seahub.test_utils import BaseTestCase
+class ListPrivSharedFoldersTest(BaseTestCase):
+ def tearDown(self):
+ self.remove_repo()
+
+ def test_can_list_priv_shared_folders(self):
+ repo_id = self.repo.id
+ username = self.user.username
+
+ parent_dir = '/'
+ dirname = ' _"_Ω_%2F_W_#_12_这'
+ full_dir_path = os.path.join(parent_dir, dirname)
+
+ # create folder
+ self.create_folder(repo_id=repo_id,
+ parent_dir=parent_dir,
+ dirname=dirname,
+ username=username)
+
+ sub_repo_id = seafile_api.create_virtual_repo(repo_id, full_dir_path, dirname, dirname, username)
+ seafile_api.share_repo(sub_repo_id, username, self.admin.username, 'rw')
+
+ self.login_as(self.user)
+ resp = self.client.get(reverse('list_priv_shared_folders'))
+ self.assertEqual(200, resp.status_code)
+ href = reverse("view_common_lib_dir", args=[repo_id, urlquote(full_dir_path).strip('/')])
+ self.assertRegexpMatches(resp.content, href)
|