1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-31 22:54:11 +00:00

Finish rename repo

This commit is contained in:
Daniel Pan
2016-01-11 17:16:21 +08:00
committed by llj
parent 92044f6a34
commit b0ccc76bee
2 changed files with 48 additions and 1 deletions

View File

@@ -31,6 +31,7 @@ define([
},
initialize: function() {
this.listenTo(this.model, "change", this.render);
},
render: function() {
@@ -145,7 +146,6 @@ define([
repo_name: repo_name
}));
var $name_span = this.$('.repo-name-span'),
$op_td = this.$('.repo-op-td'),
$name_td = $name_span.closest('td');
@@ -169,6 +169,52 @@ define([
};
$('.cancel', form).click(cancelRename);
var form_id = form.attr('id');
var _this = this;
form.submit(function() {
var new_name = $.trim($('[name="newname"]', form).val());
if (!new_name) {
return false;
}
if (new_name == repo_name) {
cancelRename();
return false;
}
var post_data = {
'repo_name': new_name
};
var post_url = Common.getUrl({
name: 'rename_repo',
repo_id: _this.model.get('id')
});
var after_op_success = function(data) {
_this.model.set({ 'name': new_name }); // it will trigger 'change' event
};
var after_op_error = function(xhr) {
var err_msg;
if (xhr.responseText) {
err_msg = $.parseJSON(xhr.responseText).error;
} else {
err_msg = gettext("Failed. Please check the network.");
}
Common.feedback(err_msg, 'error');
Common.enableButton(submit_btn);
};
var submit_btn = $('[type="submit"]', form);
Common.disableButton(submit_btn);
$.ajax({
url: post_url,
type: 'POST',
dataType: 'json',
beforeSend: Common.prepareCSRFToken,
data: post_data,
success: after_op_success,
error: after_op_error
});
return false;
});
return false;
},

View File

@@ -98,6 +98,7 @@ define([
case 'dir_shared_items': return siteRoot + 'api2/repos/' + options.repo_id + '/dir/shared_items/';
case 'shared_repos': return siteRoot + 'api2/shared-repos/' + options.repo_id + '/';
case 'ajax_unset_inner_pub_repo': return siteRoot + 'ajax/unset-inner-pub-repo/' + options.repo_id + '/';
case 'rename_repo': return siteRoot + 'api2/repos/' + options.repo_id + '/?op=rename';
// Permission
case 'set_user_folder_perm': return siteRoot + 'ajax/repo/' + options.repo_id + '/set-user-folder-perm/';