mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-01 15:23:05 +00:00
rm ajax get file op url
This commit is contained in:
parent
6d577d83e3
commit
06bc49d17b
@ -1208,9 +1208,9 @@ class FileBlockDownloadLinkView(APIView):
|
||||
return Response(url)
|
||||
|
||||
class UploadLinkView(APIView):
|
||||
authentication_classes = (TokenAuthentication, )
|
||||
permission_classes = (IsAuthenticated, )
|
||||
throttle_classes = (UserRateThrottle, )
|
||||
authentication_classes = (TokenAuthentication, SessionAuthentication)
|
||||
permission_classes = (IsAuthenticated,)
|
||||
throttle_classes = (UserRateThrottle,)
|
||||
|
||||
def get(self, request, repo_id, format=None):
|
||||
# recourse check
|
||||
@ -1235,13 +1235,22 @@ class UploadLinkView(APIView):
|
||||
|
||||
token = seafile_api.get_fileserver_access_token(
|
||||
repo_id, 'dummy', 'upload', request.user.username, use_onetime = False)
|
||||
url = gen_file_upload_url(token, 'upload-api')
|
||||
|
||||
req_from = request.GET.get('from', 'api')
|
||||
if req_from == 'api':
|
||||
url = gen_file_upload_url(token, 'upload-api')
|
||||
elif req_from == 'web':
|
||||
url = gen_file_upload_url(token, 'upload-aj')
|
||||
else:
|
||||
error_msg = 'from invalid.'
|
||||
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
||||
|
||||
return Response(url)
|
||||
|
||||
class UpdateLinkView(APIView):
|
||||
authentication_classes = (TokenAuthentication, )
|
||||
permission_classes = (IsAuthenticated, )
|
||||
throttle_classes = (UserRateThrottle, )
|
||||
authentication_classes = (TokenAuthentication, SessionAuthentication)
|
||||
permission_classes = (IsAuthenticated,)
|
||||
throttle_classes = (UserRateThrottle,)
|
||||
|
||||
def get(self, request, repo_id, format=None):
|
||||
# recourse check
|
||||
@ -1266,7 +1275,16 @@ class UpdateLinkView(APIView):
|
||||
|
||||
token = seafile_api.get_fileserver_access_token(
|
||||
repo_id, 'dummy', 'update', request.user.username)
|
||||
url = gen_file_upload_url(token, 'update-api')
|
||||
|
||||
req_from = request.GET.get('from', 'api')
|
||||
if req_from == 'api':
|
||||
url = gen_file_upload_url(token, 'update-api')
|
||||
elif req_from == 'web':
|
||||
url = gen_file_upload_url(token, 'update-aj')
|
||||
else:
|
||||
error_msg = 'from invalid.'
|
||||
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
||||
|
||||
return Response(url)
|
||||
|
||||
class UploadBlksLinkView(APIView):
|
||||
|
@ -144,7 +144,6 @@ urlpatterns = patterns(
|
||||
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/current_commit/$', get_current_commit, name='get_current_commit'),
|
||||
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/history/changes/$', repo_history_changes, name='repo_history_changes'),
|
||||
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/encrypted_file/(?P<file_id>[0-9a-f]{40})/download/$', download_enc_file, name='download_enc_file'),
|
||||
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/file_op_url/$', get_file_op_url, name='get_file_op_url'),
|
||||
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/get-file-uploaded-bytes/$', get_file_uploaded_bytes, name='get_file_uploaded_bytes'),
|
||||
url(r'^ajax/u/d/(?P<token>[-0-9a-f]{10})/upload/$', get_file_upload_url_ul, name='get_file_upload_url_ul'),
|
||||
url(r'^ajax/group/(?P<group_id>\d+)/repos/$', get_unenc_group_repos, name='get_group_repos'),
|
||||
|
@ -33,7 +33,7 @@ from seahub.notifications.views import add_notice_from_info
|
||||
from seahub.share.models import UploadLinkShare
|
||||
from seahub.signals import upload_file_successful
|
||||
from seahub.views import get_unencry_rw_repos_by_user, \
|
||||
get_system_default_repo_id, get_diff, check_folder_permission
|
||||
get_diff, check_folder_permission
|
||||
from seahub.group.utils import is_group_member, is_group_admin_or_owner, \
|
||||
get_group_member_info
|
||||
import seahub.settings as settings
|
||||
@ -1060,50 +1060,6 @@ def get_file_uploaded_bytes(request, repo_id):
|
||||
return HttpResponse(json.dumps({"uploadedBytes": uploadedBytes}),
|
||||
content_type=content_type)
|
||||
|
||||
@login_required_ajax
|
||||
def get_file_op_url(request, repo_id):
|
||||
"""Get file upload/update url for AJAX.
|
||||
"""
|
||||
content_type = 'application/json; charset=utf-8'
|
||||
|
||||
op_type = request.GET.get('op_type') # value can be 'upload', 'update', 'upload-blks', 'update-blks'
|
||||
path = request.GET.get('path')
|
||||
if not (op_type and path):
|
||||
err_msg = _(u'Argument missing')
|
||||
return HttpResponse(json.dumps({"error": err_msg}), status=400,
|
||||
content_type=content_type)
|
||||
|
||||
repo = get_repo(repo_id)
|
||||
if not repo:
|
||||
err_msg = _(u'Library does not exist')
|
||||
return HttpResponse(json.dumps({"error": err_msg}), status=400,
|
||||
content_type=content_type)
|
||||
|
||||
# permission checking
|
||||
if check_folder_permission(request, repo.id, path) != 'rw':
|
||||
err_msg = _(u'Permission denied')
|
||||
return HttpResponse(json.dumps({"error": err_msg}), status=403,
|
||||
content_type=content_type)
|
||||
|
||||
username = request.user.username
|
||||
if op_type == 'upload':
|
||||
if request.user.is_staff and get_system_default_repo_id() == repo.id:
|
||||
# Set username to 'system' to let fileserver release permission
|
||||
# check.
|
||||
username = 'system'
|
||||
|
||||
if op_type.startswith('update'):
|
||||
token = seafile_api.get_fileserver_access_token(repo_id, 'dummy',
|
||||
op_type, username)
|
||||
else:
|
||||
token = seafile_api.get_fileserver_access_token(repo_id, 'dummy',
|
||||
op_type, username,
|
||||
use_onetime=False)
|
||||
|
||||
url = gen_file_upload_url(token, op_type + '-aj')
|
||||
|
||||
return HttpResponse(json.dumps({"url": url}), content_type=content_type)
|
||||
|
||||
def get_file_upload_url_ul(request, token):
|
||||
"""Get file upload url in dir upload link.
|
||||
|
||||
|
@ -155,16 +155,16 @@ define([
|
||||
var upload_file = function() {
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
name: 'get_file_op_url',
|
||||
name: 'repo_upload_link',
|
||||
repo_id: dirents.repo_id
|
||||
}),
|
||||
data: {
|
||||
'op_type': 'upload',
|
||||
'from': 'web',
|
||||
'path': dirents.path
|
||||
},
|
||||
cache: false,
|
||||
dataType: 'json',
|
||||
success: function(ret) {
|
||||
success: function(returned_url) {
|
||||
if (enable_upload_folder && file.relative_path) { // 'add folder'
|
||||
var file_path = file.relative_path,
|
||||
r_path = file_path.substring(0, file_path.lastIndexOf('/') + 1),
|
||||
@ -173,7 +173,7 @@ define([
|
||||
popup.fileupload('option', {
|
||||
'formData': formData
|
||||
});
|
||||
data.url = ret['url'];
|
||||
data.url = returned_url;
|
||||
data.jqXHR = popup.fileupload('send', data);
|
||||
|
||||
} else {
|
||||
@ -194,13 +194,13 @@ define([
|
||||
dataType: 'json',
|
||||
success: function(file_uploaded_data) {
|
||||
popup.fileupload('option', 'uploadedBytes', file_uploaded_data.uploadedBytes);
|
||||
data.url = ret['url'];
|
||||
data.url = returned_url;
|
||||
data.jqXHR = popup.fileupload('send', data);
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
data.url = ret['url'];
|
||||
data.url = returned_url;
|
||||
data.jqXHR = popup.fileupload('send', data);
|
||||
}
|
||||
}
|
||||
@ -219,23 +219,23 @@ define([
|
||||
var update_file = function() {
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
name: 'get_file_op_url',
|
||||
name: 'repo_update_link',
|
||||
repo_id: dirents.repo_id
|
||||
}),
|
||||
data: {
|
||||
'op_type': 'update',
|
||||
'from': 'web',
|
||||
'path': dirents.path
|
||||
},
|
||||
cache: false,
|
||||
dataType: 'json',
|
||||
success: function(ret) {
|
||||
success: function(returned_url) {
|
||||
var formData = popup.fileupload('option', 'formData');
|
||||
formData.target_file = formData.parent_dir + file.name;
|
||||
popup.fileupload('option', 'formData', formData);
|
||||
|
||||
file.to_update = true;
|
||||
|
||||
data.url = ret['url'];
|
||||
data.url = returned_url;
|
||||
data.jqXHR = popup.fileupload('send', data);
|
||||
},
|
||||
error: function() {
|
||||
|
@ -94,7 +94,6 @@ define([
|
||||
case 'del_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/delete/';
|
||||
case 'mv_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/move/';
|
||||
case 'cp_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/copy/';
|
||||
case 'get_file_op_url': return siteRoot + 'ajax/repo/' + options.repo_id + '/file_op_url/';
|
||||
case 'get_file_uploaded_bytes': return siteRoot + 'ajax/repo/' + options.repo_id + '/get-file-uploaded-bytes/';
|
||||
case 'get_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/';
|
||||
|
||||
@ -116,6 +115,8 @@ define([
|
||||
case 'repo_shared_upload_link': return siteRoot + 'api2/repos/' + options.repo_id + '/upload-shared-links/' + options.token + '/';
|
||||
case 'repo_user_folder_perm': return siteRoot + 'api2/repos/' + options.repo_id + '/user-folder-perm/';
|
||||
case 'repo_group_folder_perm': return siteRoot + 'api2/repos/' + options.repo_id + '/group-folder-perm/';
|
||||
case 'repo_upload_link': return siteRoot + 'api2/repos/' + options.repo_id + '/upload-link/';
|
||||
case 'repo_update_link': return siteRoot + 'api2/repos/' + options.repo_id + '/update-link/';
|
||||
|
||||
// Share admin
|
||||
case 'share_admin_repos': return siteRoot + 'api/v2.1/shared-repos/';
|
||||
|
Loading…
Reference in New Issue
Block a user