1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 21:07:17 +00:00

Merge pull request #879 from haiwen/shared-folder

update list shared folders
This commit is contained in:
xiez
2015-11-09 10:56:16 +08:00
4 changed files with 36 additions and 21 deletions

View File

@@ -20,7 +20,7 @@
{% for repo in shared_folders %}
<tr data="{{repo.props.share_type}}">
<td><img src="{{MEDIA_URL}}img/folder-icon-24.png" title="{% trans "Read-Write"%}" alt="{% trans "directory icon" %}" /></td>
<td data="{{ repo.props.repo_id }}"><a href="{% url 'view_priv_shared_folder' repo.repo_id %}">{{ repo.props.repo_name }}</a></td>
<td data="{{ repo.props.repo_id }}"><a href="{% url 'view_common_lib_dir' repo.origin_repo_id repo.origin_path|urlencode|strip_slash %}">{{ repo.props.repo_name }}</a></td>
<td data="{{repo.props.user_info}}" title="{{ repo.props.user }}">{{ repo.props.user | email2nickname }}</td>
<td>
<div class="share-permission">

View File

@@ -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<repo_id>[-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'),

View File

@@ -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.

View File

@@ -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 = '<img onerror=alert(1) src=a>_"_Ω_%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)