1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-02 07:27:04 +00:00

add new admin share api

This commit is contained in:
lian
2016-08-16 10:19:56 +08:00
parent a3b15e6f62
commit 5c59b81466
13 changed files with 716 additions and 825 deletions

View File

@@ -50,14 +50,23 @@ define([
var _this = this;
var item_data = this.item_data;
var perm = $(e.currentTarget).val();
var url, data;
var url = Common.getUrl({name: 'admin_shares'});
var data;
if (item_data.for_user) {
url = Common.getUrl({name: 'admin_library_user_share', repo_id: this.repo_id});
data = {'permission': perm, 'user_email': item_data.user_email};
data = {
'repo_id': _this.repo_id,
'share_type': 'user',
'permission': perm,
'share_to': item_data.user_email
};
} else {
url = Common.getUrl({name: 'admin_library_group_share', repo_id: this.repo_id});
data = {'permission': perm, 'group_id': item_data.group_id};
data = {
'repo_id': _this.repo_id,
'share_type': 'group',
'permission': perm,
'share_to': item_data.group_id
};
}
$.ajax({
@@ -73,14 +82,16 @@ define([
error: function(xhr) {
var err_msg;
if (xhr.responseText) {
err_msg = gettext("Edit failed");
var parsed_resp = $.parseJSON(xhr.responseText);
err_msg = parsed_resp.error||parsed_resp.error_msg;
err_msg = Common.HTMLescape(err_msg);
} else {
err_msg = gettext("Failed. Please check the network.");
}
if (item_data.for_user) {
$('#dir-user-share .error').html(err_msg).removeClass('hide');
} else {
$('#dir-group-group .error').html(err_msg).removeClass('hide');
$('#dir-group-share .error').html(err_msg).removeClass('hide');
}
}
});
@@ -89,14 +100,23 @@ define([
del: function () {
var _this = this;
var item_data = this.item_data;
var url, data;
var url = Common.getUrl({name: 'admin_shares'});
var data;
if (item_data.for_user) {
url = Common.getUrl({name: 'admin_library_user_share', repo_id: this.repo_id});
data = {'permission': item_data.permission, 'user_email': item_data.user_email};
data = {
'repo_id': _this.repo_id,
'share_type': 'user',
'permission': item_data.permission,
'share_to': item_data.user_email
};
} else {
url = Common.getUrl({name: 'admin_library_group_share', repo_id: this.repo_id});
data = {'permission': item_data.permission, 'group_id': item_data.group_id};
data = {
'repo_id': _this.repo_id,
'share_type': 'group',
'permission': item_data.permission,
'share_to': item_data.group_id
};
}
$.ajax({
@@ -111,14 +131,16 @@ define([
error: function (xhr) {
var err_msg;
if (xhr.responseText) {
err_msg = gettext("Delete failed");
var parsed_resp = $.parseJSON(xhr.responseText);
err_msg = parsed_resp.error||parsed_resp.error_msg;
err_msg = Common.HTMLescape(err_msg);
} else {
err_msg = gettext("Failed. Please check the network.");
}
if (item_data.for_user) {
$('#dir-user-share .error').html(err_msg).removeClass('hide');
} else {
$('#dir-group-group .error').html(err_msg).removeClass('hide');
$('#dir-group-share .error').html(err_msg).removeClass('hide');
}
}
});

View File

@@ -63,7 +63,11 @@ define([
}, Common.contactInputOptionsForSelect2()));
Common.ajaxGet({
'get_url': Common.getUrl({name: 'admin_library_user_shares', repo_id: repo_id}),
'get_url': Common.getUrl({name: 'admin_shares'}),
'data': {
'repo_id': repo_id,
'share_type': 'user'
},
'after_op_success': function (data) {
$(data).each(function(index, item) {
var new_item = new FolderShareItemView({
@@ -96,7 +100,11 @@ define([
}, Common.groupInputOptionsForSelect2()));
Common.ajaxGet({
'get_url': Common.getUrl({name: 'admin_library_group_shares', repo_id: repo_id}),
'get_url': Common.getUrl({name: 'admin_shares'}),
'data': {
'repo_id': repo_id,
'share_type': 'group'
},
'after_op_success': function (data) {
$(data).each(function(index, item) {
var new_item = new FolderShareItemView({
@@ -136,13 +144,15 @@ define([
Common.disableButton($submitBtn);
$.ajax({
url: Common.getUrl({name: 'admin_library_user_shares', repo_id: repo_id}),
url: Common.getUrl({name: 'admin_shares'}),
dataType: 'json',
method: 'POST',
beforeSend: Common.prepareCSRFToken,
traditional: true,
data: {
'email': emails.split(','),
'repo_id': repo_id,
'share_type': 'user',
'share_to': emails.split(','),
'permission': perm
},
success: function(data) {
@@ -177,8 +187,9 @@ define([
if (xhr.responseText) {
var parsed_resp = $.parseJSON(xhr.responseText);
err_msg = parsed_resp.error||parsed_resp.error_msg;
err_msg = Common.HTMLescape(err_msg);
} else {
err_msg = gettext("Failed. Please check the network.")
err_msg = gettext("Failed. Please check the network.");
}
$error.html(err_msg).removeClass('hide');
},
@@ -209,13 +220,15 @@ define([
Common.disableButton($submitBtn);
$.ajax({
url: Common.getUrl({name: 'admin_library_group_shares',repo_id: repo_id}),
url: Common.getUrl({name: 'admin_shares'}),
dataType: 'json',
method: 'POST',
beforeSend: Common.prepareCSRFToken,
traditional: true,
data: {
'group_id': groups.split(','),
'repo_id': repo_id,
'share_type': 'group',
'share_to': groups.split(','),
'permission': perm
},
success: function(data) {
@@ -250,8 +263,9 @@ define([
if (xhr.responseText) {
var parsed_resp = $.parseJSON(xhr.responseText);
err_msg = parsed_resp.error||parsed_resp.error_msg;
err_msg = Common.HTMLescape(err_msg);
} else {
err_msg = gettext("Failed. Please check the network.")
err_msg = gettext("Failed. Please check the network.");
}
$error.html(err_msg).removeClass('hide');
},