mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-02 23:48:47 +00:00
Fixed bug in org shared links
This commit is contained in:
@@ -31,7 +31,7 @@ from pysearpc import SearpcError
|
||||
from seaserv import seafserv_rpc, seafserv_threaded_rpc, server_repo_size, \
|
||||
get_personal_groups_by_user, get_session_info, get_repo_token_nonnull, \
|
||||
get_group_repos, get_repo, check_permission, get_commits, is_passwd_set,\
|
||||
list_personal_repos_by_owner, list_personal_shared_repos
|
||||
list_personal_repos_by_owner, list_personal_shared_repos, check_quota
|
||||
|
||||
json_content_type = 'application/json; charset=utf-8'
|
||||
|
||||
@@ -332,8 +332,8 @@ class UploadLinkView(APIView):
|
||||
else:
|
||||
return api_error(status.HTTP_403_FORBIDDEN, "Can not access repo")
|
||||
|
||||
if request.cloud_mode and seafserv_threaded_rpc.check_quota(repo_id) < 0:
|
||||
return api_error(status.HTTP_500_INTERNAL_SERVER_ERROR, 'Above quota')
|
||||
if check_quota(repo_id) < 0:
|
||||
return api_error(status.HTTP_520_OPERATION_FAILED, 'Above quota')
|
||||
|
||||
upload_url = gen_file_upload_url(token, 'upload-api')
|
||||
return Response(upload_url)
|
||||
|
@@ -1,7 +1,6 @@
|
||||
from django.conf.urls.defaults import *
|
||||
|
||||
from views import *
|
||||
# from seahub.views import RepoView, RepoHistoryView
|
||||
|
||||
urlpatterns = patterns('',
|
||||
url(r'^create/$', create_org, name='create_org'),
|
||||
|
@@ -38,7 +38,7 @@ from seahub.forms import RepoCreateForm, SharedRepoCreateForm
|
||||
import seahub.settings as seahub_settings
|
||||
from seahub.utils import render_error, render_permission_error, gen_token, \
|
||||
validate_group_name, string2list, calculate_repo_last_modify, MAX_INT, \
|
||||
EVENTS_ENABLED, get_starred_files
|
||||
EVENTS_ENABLED, get_starred_files, gen_shared_link
|
||||
from seahub.views import myhome
|
||||
from seahub.signals import repo_created
|
||||
|
||||
@@ -678,7 +678,7 @@ def org_repo_share(request, url_prefix):
|
||||
@login_required
|
||||
def org_shareadmin(request, url_prefix):
|
||||
"""
|
||||
List personal repos I share to others, include groups and users.
|
||||
List org shared repos and org shared links.
|
||||
"""
|
||||
username = request.user.username
|
||||
|
||||
@@ -688,7 +688,7 @@ def org_shareadmin(request, url_prefix):
|
||||
|
||||
shared_repos = []
|
||||
|
||||
# personal repos shared by this user
|
||||
# org repos shared by this user
|
||||
shared_repos += seafserv_threaded_rpc.list_org_share_repos(org.org_id,
|
||||
username,
|
||||
'from_email',
|
||||
@@ -727,16 +727,24 @@ def org_shareadmin(request, url_prefix):
|
||||
|
||||
shared_repos.sort(lambda x, y: cmp(x.repo_id, y.repo_id))
|
||||
|
||||
# File shared links
|
||||
# shared links
|
||||
fileshares = FileShare.objects.filter(username=request.user.username)
|
||||
o_fileshares = [] # shared files in org repos
|
||||
o_fileshares = [] # shared links in org repos
|
||||
for fs in fileshares:
|
||||
if not is_personal_repo(fs.repo_id):
|
||||
# only list files in org repos
|
||||
if not is_personal_repo(fs.repo_id): # only list links in org repos
|
||||
if fs.s_type == 'f':
|
||||
fs.filename = os.path.basename(fs.path)
|
||||
fs.repo = get_repo(fs.repo_id)
|
||||
fs.shared_link = gen_shared_link(request, fs.token, 'f')
|
||||
else:
|
||||
fs.filename = os.path.basename(fs.path[:-1])
|
||||
fs.shared_link = gen_shared_link(request, fs.token, 'd')
|
||||
r = get_repo(fs.repo_id) # get_repo may returns None
|
||||
if not r:
|
||||
continue
|
||||
fs.repo = r
|
||||
o_fileshares.append(fs)
|
||||
|
||||
# use org base template
|
||||
request.base_template = 'org_base.html'
|
||||
|
||||
return render_to_response('repo/share_admin.html', {
|
||||
|
@@ -185,7 +185,7 @@ def repo_remove_share(request):
|
||||
@login_required
|
||||
def share_admin(request):
|
||||
"""
|
||||
List personal repos I share to others, include groups and users.
|
||||
List personal shared repos and shared links.
|
||||
"""
|
||||
username = request.user.username
|
||||
|
||||
@@ -245,7 +245,10 @@ def share_admin(request):
|
||||
else:
|
||||
fs.filename = os.path.basename(fs.path[:-1])
|
||||
fs.shared_link = gen_shared_link(request, fs.token, 'd')
|
||||
fs.repo = get_repo(fs.repo_id)
|
||||
r = get_repo(fs.repo_id)
|
||||
if not r: # get_repo may returns None
|
||||
continue
|
||||
fs.repo = r
|
||||
p_fileshares.append(fs)
|
||||
|
||||
return render_to_response('repo/share_admin.html', {
|
||||
|
Reference in New Issue
Block a user