mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-03 16:10:26 +00:00
[del-dirents] update perm check
This commit is contained in:
@@ -733,14 +733,13 @@ def delete_dirents(request, repo_id):
|
||||
|
||||
# permission checking
|
||||
username = request.user.username
|
||||
if check_folder_permission(request, repo.id, parent_dir) != 'rw':
|
||||
err_msg = _(u'Permission denied.')
|
||||
return HttpResponse(json.dumps({'error': err_msg}),
|
||||
status=403, content_type=content_type)
|
||||
|
||||
deleted = []
|
||||
undeleted = []
|
||||
for dirent_name in dirents_names:
|
||||
full_path = os.path.join(parent_dir, dirent_name)
|
||||
if check_folder_permission(request, repo.id, full_path) != 'rw':
|
||||
undeleted.append(dirent_name)
|
||||
continue
|
||||
try:
|
||||
seafile_api.del_file(repo_id, parent_dir, dirent_name, username)
|
||||
deleted.append(dirent_name)
|
||||
|
@@ -550,7 +550,7 @@ define([
|
||||
_this.$('#multi-dirents-op').hide();
|
||||
} else {
|
||||
$(selected_dirents).each(function() {
|
||||
if (this.get('obj_name') in data['deleted']) {
|
||||
if (data['deleted'].indexOf(this.get('obj_name')) != -1) {
|
||||
dirents.remove(this);
|
||||
}
|
||||
});
|
||||
@@ -567,11 +567,11 @@ define([
|
||||
}
|
||||
if (not_del_len > 0) {
|
||||
if (not_del_len == 1) {
|
||||
msg_f = gettext("Internal error. Failed to delete %(name)s.");
|
||||
msg_f = gettext("Failed to delete %(name)s.");
|
||||
} else if (not_del_len == 2) {
|
||||
msg_f = gettext("Internal error. Failed to delete %(name)s and 1 other item.");
|
||||
msg_f = gettext("Failed to delete %(name)s and 1 other item.");
|
||||
} else {
|
||||
msg_f = gettext("Internal error. Failed to delete %(name)s and %(amount)s other items.");
|
||||
msg_f = gettext("Failed to delete %(name)s and %(amount)s other items.");
|
||||
}
|
||||
msg_f = msg_f.replace('%(name)s', Common.HTMLescape(data['undeleted'][0])).replace('%(amount)s', not_del_len - 1);
|
||||
Common.feedback(msg_f, 'error');
|
||||
|
Reference in New Issue
Block a user