mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-08 18:30:53 +00:00
[user panel] group owned library: enable group admin to set folder perm
This commit is contained in:
@@ -527,7 +527,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<div class="menu-inner-divider"></div>
|
<div class="menu-inner-divider"></div>
|
||||||
<ul>
|
<ul>
|
||||||
<% if (app.pageOptions.folder_perm_enabled && is_repo_owner && !is_virtual && has_been_shared_out) { %>
|
<% if (can_set_folder_perm) { %>
|
||||||
<li><a class="op set-folder-permission" href="#">{% trans "Permission" %}</a></li>
|
<li><a class="op set-folder-permission" href="#">{% trans "Permission" %}</a></li>
|
||||||
<% } %>
|
<% } %>
|
||||||
<li><a class="op view-details" href="#">{% trans "Details" %}</a></li>
|
<li><a class="op view-details" href="#">{% trans "Details" %}</a></li>
|
||||||
@@ -602,7 +602,7 @@
|
|||||||
<div class="menu-inner-divider"></div>
|
<div class="menu-inner-divider"></div>
|
||||||
<ul>
|
<ul>
|
||||||
<% if (dirent.perm == 'rw') { %>
|
<% if (dirent.perm == 'rw') { %>
|
||||||
<% if (app.pageOptions.folder_perm_enabled && is_repo_owner && !is_virtual && has_been_shared_out) { %>
|
<% if (can_set_folder_perm) { %>
|
||||||
<li><a class="op set-folder-permission" href="#">{% trans "Permission" %}</a></li>
|
<li><a class="op set-folder-permission" href="#">{% trans "Permission" %}</a></li>
|
||||||
<% } %>
|
<% } %>
|
||||||
<li><a class="op view-details" href="#">{% trans "Details" %}</a></li>
|
<li><a class="op view-details" href="#">{% trans "Details" %}</a></li>
|
||||||
@@ -958,7 +958,7 @@
|
|||||||
<div class="menu-inner-divider"></div>
|
<div class="menu-inner-divider"></div>
|
||||||
<ul>
|
<ul>
|
||||||
<% if (dirent.perm == 'rw') { %>
|
<% if (dirent.perm == 'rw') { %>
|
||||||
<% if (app.pageOptions.folder_perm_enabled && is_repo_owner) { %>
|
<% if (can_set_folder_perm) { %>
|
||||||
<li><a class="op set-folder-permission" href="#">{% trans "Permission" %}</a></li>
|
<li><a class="op set-folder-permission" href="#">{% trans "Permission" %}</a></li>
|
||||||
<% } %>
|
<% } %>
|
||||||
<li><a class="op view-details" href="#">{% trans "Details" %}</a></li>
|
<li><a class="op view-details" href="#">{% trans "Details" %}</a></li>
|
||||||
|
@@ -222,8 +222,10 @@ define([
|
|||||||
var group_name = Common.groupId2Name(group_id);
|
var group_name = Common.groupId2Name(group_id);
|
||||||
if (group_name) {
|
if (group_name) {
|
||||||
this.switchCurrentView(this.dirView);
|
this.switchCurrentView(this.dirView);
|
||||||
this.dirView.showDir('group/' + group_id, repo_id, path,
|
this.dirView.showDir('group/' + group_id, repo_id, path, {
|
||||||
{'group_name': group_name});
|
'group_id': group_id,
|
||||||
|
'group_name': group_name
|
||||||
|
});
|
||||||
this.sideNavView.setCurTab('group', {
|
this.sideNavView.setCurTab('group', {
|
||||||
'cur_group_tab': '',
|
'cur_group_tab': '',
|
||||||
'cur_group_id': group_id
|
'cur_group_id': group_id
|
||||||
|
@@ -70,9 +70,9 @@ define([
|
|||||||
if ($el.length &&
|
if ($el.length &&
|
||||||
!$el.is(target) &&
|
!$el.is(target) &&
|
||||||
!$el.find('*').is(target) &&
|
!$el.find('*').is(target) &&
|
||||||
!$td.find('.edit-icon').is(target)) {
|
!$td.find('.perm-edit-icon').is(target)) {
|
||||||
$el.hide();
|
$el.addClass('hide');
|
||||||
$td.find('.cur-perm, .edit-icon').show();
|
$td.find('.perm').removeClass('hide');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
$(document).on('click', hideItemEdit);
|
$(document).on('click', hideItemEdit);
|
||||||
|
@@ -443,12 +443,18 @@ define([
|
|||||||
var dir = this.dir;
|
var dir = this.dir;
|
||||||
dir.fetch({
|
dir.fetch({
|
||||||
cache: false,
|
cache: false,
|
||||||
reset: true,
|
//reset: true,
|
||||||
data: {
|
data: {
|
||||||
'p': dir.path,
|
'p': dir.path,
|
||||||
'thumbnail_size': thumbnail_size
|
'thumbnail_size': thumbnail_size
|
||||||
},
|
},
|
||||||
success: function() {
|
success: function() {
|
||||||
|
_this.dir.user_can_set_folder_perm = false;
|
||||||
|
if (_this.contextOptions.group_id) { // the repo is in a group
|
||||||
|
_this.getGroupInfo();
|
||||||
|
} else {
|
||||||
|
_this.reset();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
error: function(collection, response, opts) {
|
error: function(collection, response, opts) {
|
||||||
var err_msg;
|
var err_msg;
|
||||||
@@ -470,6 +476,34 @@ define([
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getGroupInfo: function() {
|
||||||
|
var _this = this;
|
||||||
|
$.ajax({
|
||||||
|
url: Common.getUrl({
|
||||||
|
'name': 'group',
|
||||||
|
'group_id': this.contextOptions.group_id
|
||||||
|
}),
|
||||||
|
cache: false,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(data) {
|
||||||
|
if (data.parent_group_id != 0 && // address book group
|
||||||
|
$.inArray(app.pageOptions.username, data.admins) != -1) { // user is group admin
|
||||||
|
_this.dir.user_can_set_folder_perm = true;
|
||||||
|
}
|
||||||
|
_this.reset();
|
||||||
|
},
|
||||||
|
error: function(xhr) {
|
||||||
|
var err_msg;
|
||||||
|
if (xhr.responseText) {
|
||||||
|
err_msg = JSON.parse(xhr.responseText).error_msg;
|
||||||
|
} else {
|
||||||
|
err_msg = gettext("Please check the network.");
|
||||||
|
}
|
||||||
|
_this.$error.html(err_msg).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
renderPath: function() {
|
renderPath: function() {
|
||||||
var dir = this.dir;
|
var dir = this.dir;
|
||||||
var path = dir.path;
|
var path = dir.path;
|
||||||
|
@@ -105,6 +105,12 @@ define([
|
|||||||
this.$('.img-link').addClass('hl');
|
this.$('.img-link').addClass('hl');
|
||||||
this.$('.text-link').addClass('hl');
|
this.$('.text-link').addClass('hl');
|
||||||
|
|
||||||
|
var can_set_folder_perm = false;
|
||||||
|
if (app.pageOptions.folder_perm_enabled && !dir.is_virtual &&
|
||||||
|
((dir.is_repo_owner && dir.has_been_shared_out) || dir.user_can_set_folder_perm)) {
|
||||||
|
can_set_folder_perm = true;
|
||||||
|
}
|
||||||
|
|
||||||
var op = template({
|
var op = template({
|
||||||
dirent: this.model.attributes,
|
dirent: this.model.attributes,
|
||||||
dirent_path: this.model.getPath(),
|
dirent_path: this.model.getPath(),
|
||||||
@@ -112,6 +118,7 @@ define([
|
|||||||
category: dir.category,
|
category: dir.category,
|
||||||
repo_id: dir.repo_id,
|
repo_id: dir.repo_id,
|
||||||
is_repo_owner: dir.is_repo_owner,
|
is_repo_owner: dir.is_repo_owner,
|
||||||
|
can_set_folder_perm: can_set_folder_perm,
|
||||||
can_generate_share_link: app.pageOptions.can_generate_share_link,
|
can_generate_share_link: app.pageOptions.can_generate_share_link,
|
||||||
can_generate_upload_link: app.pageOptions.can_generate_upload_link,
|
can_generate_upload_link: app.pageOptions.can_generate_upload_link,
|
||||||
is_pro: app.pageOptions.is_pro,
|
is_pro: app.pageOptions.is_pro,
|
||||||
@@ -256,8 +263,12 @@ define([
|
|||||||
var options = {
|
var options = {
|
||||||
'obj_name': this.model.get('obj_name'),
|
'obj_name': this.model.get('obj_name'),
|
||||||
'dir_path': this.dir.path,
|
'dir_path': this.dir.path,
|
||||||
'repo_id': this.dir.repo_id
|
'repo_id': this.dir.repo_id,
|
||||||
|
'is_group_owned_repo': this.dir.user_can_set_folder_perm ? true : false
|
||||||
};
|
};
|
||||||
|
if (options.is_group_owned_repo) {
|
||||||
|
options.group_id = this.dirView.contextOptions.group_id;
|
||||||
|
}
|
||||||
new FolderPermView(options);
|
new FolderPermView(options);
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
@@ -46,6 +46,12 @@ define([
|
|||||||
template = $(window).width() < 768 ? this.fileMobileTemplate : this.fileTemplate;
|
template = $(window).width() < 768 ? this.fileMobileTemplate : this.fileTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var can_set_folder_perm = false;
|
||||||
|
if (app.pageOptions.folder_perm_enabled && !dir.is_virtual &&
|
||||||
|
((dir.is_repo_owner && dir.has_been_shared_out) || dir.user_can_set_folder_perm)) {
|
||||||
|
can_set_folder_perm = true;
|
||||||
|
}
|
||||||
|
|
||||||
this.$el.html(template({
|
this.$el.html(template({
|
||||||
dirent: this.model.attributes,
|
dirent: this.model.attributes,
|
||||||
dirent_path: dirent_path,
|
dirent_path: dirent_path,
|
||||||
@@ -57,9 +63,9 @@ define([
|
|||||||
category: dir.category,
|
category: dir.category,
|
||||||
repo_id: dir.repo_id,
|
repo_id: dir.repo_id,
|
||||||
is_repo_owner: dir.is_repo_owner,
|
is_repo_owner: dir.is_repo_owner,
|
||||||
is_virtual: dir.is_virtual,
|
|
||||||
repo_encrypted: dir.encrypted,
|
repo_encrypted: dir.encrypted,
|
||||||
has_been_shared_out: dir.has_been_shared_out,
|
|
||||||
|
can_set_folder_perm: can_set_folder_perm,
|
||||||
|
|
||||||
can_generate_share_link: app.pageOptions.can_generate_share_link,
|
can_generate_share_link: app.pageOptions.can_generate_share_link,
|
||||||
can_generate_upload_link: app.pageOptions.can_generate_upload_link,
|
can_generate_upload_link: app.pageOptions.can_generate_upload_link,
|
||||||
@@ -538,8 +544,12 @@ define([
|
|||||||
var options = {
|
var options = {
|
||||||
'obj_name': this.model.get('obj_name'),
|
'obj_name': this.model.get('obj_name'),
|
||||||
'dir_path': this.dir.path,
|
'dir_path': this.dir.path,
|
||||||
'repo_id': this.dir.repo_id
|
'repo_id': this.dir.repo_id,
|
||||||
|
'is_group_owned_repo': this.dir.user_can_set_folder_perm ? true : false
|
||||||
};
|
};
|
||||||
|
if (options.is_group_owned_repo) {
|
||||||
|
options.group_id = this.dirView.contextOptions.group_id;
|
||||||
|
}
|
||||||
this._hideMenu();
|
this._hideMenu();
|
||||||
new FolderPermView(options);
|
new FolderPermView(options);
|
||||||
return false;
|
return false;
|
||||||
|
@@ -19,6 +19,8 @@ define([
|
|||||||
this.repo_id = options.repo_id;
|
this.repo_id = options.repo_id;
|
||||||
this.obj_name = options.obj_name;
|
this.obj_name = options.obj_name;
|
||||||
this.dir_path = options.dir_path;
|
this.dir_path = options.dir_path;
|
||||||
|
this.is_group_owned_repo = options.is_group_owned_repo;
|
||||||
|
this.group_id = options.group_id;
|
||||||
this.path = Common.pathJoin([this.dir_path, this.obj_name])
|
this.path = Common.pathJoin([this.dir_path, this.obj_name])
|
||||||
|
|
||||||
this.render();
|
this.render();
|
||||||
@@ -68,14 +70,19 @@ define([
|
|||||||
// show existing user folder perm items
|
// show existing user folder perm items
|
||||||
Common.ajaxGet({
|
Common.ajaxGet({
|
||||||
'get_url': Common.getUrl({
|
'get_url': Common.getUrl({
|
||||||
name: 'repo_user_folder_perm',
|
name: this.is_group_owned_repo ?
|
||||||
|
'group-owned-library-user-folder-permission' :
|
||||||
|
'repo_user_folder_perm',
|
||||||
repo_id: this.repo_id
|
repo_id: this.repo_id
|
||||||
}),
|
}),
|
||||||
'data': {'folder_path': this.path},
|
'data': {'folder_path': this.path},
|
||||||
'after_op_success': function (data) {
|
'after_op_success': function(data) {
|
||||||
$(data).each(function(index, item) {
|
$(data).each(function(index, item) {
|
||||||
var perm_item = new RepoFolderPermItemView({
|
var perm_item = new RepoFolderPermItemView({
|
||||||
item_data: $.extend(item, {'for_user': true})
|
item_data: $.extend(item, {
|
||||||
|
'is_group_owned_repo': _this.is_group_owned_repo,
|
||||||
|
'for_user': true
|
||||||
|
})
|
||||||
});
|
});
|
||||||
_this.$add_user_perm.after(perm_item.el);
|
_this.$add_user_perm.after(perm_item.el);
|
||||||
});
|
});
|
||||||
@@ -85,14 +92,19 @@ define([
|
|||||||
// show existing group folder perm items
|
// show existing group folder perm items
|
||||||
Common.ajaxGet({
|
Common.ajaxGet({
|
||||||
'get_url': Common.getUrl({
|
'get_url': Common.getUrl({
|
||||||
name: 'repo_group_folder_perm',
|
name: this.is_group_owned_repo ?
|
||||||
|
'group-owned-library-group-folder-permission' :
|
||||||
|
'repo_group_folder_perm',
|
||||||
repo_id: this.repo_id
|
repo_id: this.repo_id
|
||||||
}),
|
}),
|
||||||
'data': {'folder_path': this.path},
|
'data': {'folder_path': this.path},
|
||||||
'after_op_success': function (data) {
|
'after_op_success': function (data) {
|
||||||
$(data).each(function(index, item) {
|
$(data).each(function(index, item) {
|
||||||
var perm_item = new RepoFolderPermItemView({
|
var perm_item = new RepoFolderPermItemView({
|
||||||
item_data: $.extend(item, {'for_user': false})
|
item_data: $.extend(item, {
|
||||||
|
'is_group_owned_repo': _this.is_group_owned_repo,
|
||||||
|
'for_user': false
|
||||||
|
})
|
||||||
});
|
});
|
||||||
_this.$add_group_perm.after(perm_item.el);
|
_this.$add_group_perm.after(perm_item.el);
|
||||||
});
|
});
|
||||||
@@ -100,18 +112,50 @@ define([
|
|||||||
});
|
});
|
||||||
|
|
||||||
// use select2 to 'user' input in 'add user perm'
|
// use select2 to 'user' input in 'add user perm'
|
||||||
$('[name="email"]', this.$add_user_perm).select2(Common.contactInputOptionsForSelect2());
|
var url;
|
||||||
|
if (this.is_group_owned_repo) {
|
||||||
|
url = Common.getUrl({
|
||||||
|
'name': 'address_book_group_search_members',
|
||||||
|
'group_id': this.group_id
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$('[name="email"]', this.$add_user_perm).select2(
|
||||||
|
Common.contactInputOptionsForSelect2({'url': url}));
|
||||||
|
|
||||||
// use select2 to 'group' input in 'add group perm'
|
// use select2 to 'group' input in 'add group perm'
|
||||||
var groups = app.pageOptions.joined_groups_exclude_address_book || [],
|
var groups;
|
||||||
g_opts = '';
|
var prepareGroupSelector = function(groups) {
|
||||||
for (var i = 0, len = groups.length; i < len; i++) {
|
var g_opts = '';
|
||||||
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
for (var i = 0, len = groups.length; i < len; i++) {
|
||||||
|
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
||||||
|
}
|
||||||
|
$('[name="group"]', _this.$add_group_perm).html(g_opts).select2({
|
||||||
|
placeholder: gettext("Select groups"),
|
||||||
|
escapeMarkup: function(m) { return m; }
|
||||||
|
});
|
||||||
|
};
|
||||||
|
if (this.is_group_owned_repo) {
|
||||||
|
$.ajax({
|
||||||
|
url: Common.getUrl({
|
||||||
|
'name': 'address_book_sub_groups',
|
||||||
|
'group_id': this.group_id
|
||||||
|
}),
|
||||||
|
cache: false,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(data) {
|
||||||
|
groups = data;
|
||||||
|
},
|
||||||
|
error: function(xhr) {
|
||||||
|
groups = [];
|
||||||
|
},
|
||||||
|
complete: function() {
|
||||||
|
prepareGroupSelector(groups);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
groups = app.pageOptions.joined_groups_exclude_address_book || [];
|
||||||
|
prepareGroupSelector(groups);
|
||||||
}
|
}
|
||||||
$('[name="group"]', this.$add_group_perm).html(g_opts).select2({
|
|
||||||
placeholder: gettext("Select groups"),
|
|
||||||
escapeMarkup: function(m) { return m; }
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
events: {
|
events: {
|
||||||
@@ -126,7 +170,12 @@ define([
|
|||||||
$form = this.$add_user_perm;
|
$form = this.$add_user_perm;
|
||||||
$error = $('#user-folder-perm .error');
|
$error = $('#user-folder-perm .error');
|
||||||
|
|
||||||
url = Common.getUrl({name: 'repo_user_folder_perm', repo_id: this.repo_id});
|
url = Common.getUrl({
|
||||||
|
name: this.is_group_owned_repo ?
|
||||||
|
'group-owned-library-user-folder-permission' :
|
||||||
|
'repo_user_folder_perm',
|
||||||
|
repo_id: this.repo_id
|
||||||
|
});
|
||||||
var emails_group_ids_input = $('[name="email"]', $form),
|
var emails_group_ids_input = $('[name="email"]', $form),
|
||||||
emails = emails_group_ids_input.val(),
|
emails = emails_group_ids_input.val(),
|
||||||
perm = $('[name="permission"]', $form).val();
|
perm = $('[name="permission"]', $form).val();
|
||||||
@@ -141,13 +190,22 @@ define([
|
|||||||
'permission': perm
|
'permission': perm
|
||||||
};
|
};
|
||||||
|
|
||||||
extended_data = {'for_user': true};
|
extended_data = {
|
||||||
|
'is_group_owned_repo': this.is_group_owned_repo,
|
||||||
|
'for_user': true
|
||||||
|
};
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$form = this.$add_group_perm;
|
$form = this.$add_group_perm;
|
||||||
$error = $('#group-folder-perm .error');
|
$error = $('#group-folder-perm .error');
|
||||||
|
|
||||||
url = Common.getUrl({name: 'repo_group_folder_perm', repo_id: this.repo_id});
|
url = Common.getUrl({
|
||||||
|
name: this.is_group_owned_repo ?
|
||||||
|
'group-owned-library-group-folder-permission' :
|
||||||
|
'repo_group_folder_perm',
|
||||||
|
repo_id: this.repo_id
|
||||||
|
});
|
||||||
|
|
||||||
var emails_group_ids_input = $('[name="group"]', $form),
|
var emails_group_ids_input = $('[name="group"]', $form),
|
||||||
group_ids = emails_group_ids_input.val().join(','),
|
group_ids = emails_group_ids_input.val().join(','),
|
||||||
perm = $('[name="permission"]', $form).val();
|
perm = $('[name="permission"]', $form).val();
|
||||||
@@ -162,7 +220,10 @@ define([
|
|||||||
'permission': perm
|
'permission': perm
|
||||||
};
|
};
|
||||||
|
|
||||||
extended_data = {'for_user': false};
|
extended_data = {
|
||||||
|
'is_group_owned_repo': this.is_group_owned_repo,
|
||||||
|
'for_user': false
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
var $submit_btn = $form.children('[type="submit"]');
|
var $submit_btn = $form.children('[type="submit"]');
|
||||||
|
@@ -64,9 +64,19 @@ define([
|
|||||||
} else {
|
} else {
|
||||||
$.extend(data, {'group_id': this.data.group_id});
|
$.extend(data, {'group_id': this.data.group_id});
|
||||||
}
|
}
|
||||||
|
var url_name;
|
||||||
|
if (this.data.is_group_owned_repo) {
|
||||||
|
url_name = for_user ?
|
||||||
|
'group-owned-library-user-folder-permission' :
|
||||||
|
'group-owned-library-group-folder-permission';
|
||||||
|
} else {
|
||||||
|
url_name = for_user ?
|
||||||
|
'repo_user_folder_perm' :
|
||||||
|
'repo_group_folder_perm';
|
||||||
|
}
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: Common.getUrl({
|
url: Common.getUrl({
|
||||||
name: for_user ? 'repo_user_folder_perm' : 'repo_group_folder_perm',
|
name: url_name,
|
||||||
repo_id: this.data.repo_id
|
repo_id: this.data.repo_id
|
||||||
}),
|
}),
|
||||||
type: 'PUT',
|
type: 'PUT',
|
||||||
@@ -106,9 +116,19 @@ define([
|
|||||||
} else {
|
} else {
|
||||||
$.extend(data, {'group_id': this.data.group_id});
|
$.extend(data, {'group_id': this.data.group_id});
|
||||||
}
|
}
|
||||||
|
var url_name;
|
||||||
|
if (this.data.is_group_owned_repo) {
|
||||||
|
url_name = for_user ?
|
||||||
|
'group-owned-library-user-folder-permission' :
|
||||||
|
'group-owned-library-group-folder-permission';
|
||||||
|
} else {
|
||||||
|
url_name = for_user ?
|
||||||
|
'repo_user_folder_perm' :
|
||||||
|
'repo_group_folder_perm';
|
||||||
|
}
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: Common.getUrl({
|
url: Common.getUrl({
|
||||||
name: for_user ? 'repo_user_folder_perm' : 'repo_group_folder_perm',
|
name: url_name,
|
||||||
repo_id: this.data.repo_id
|
repo_id: this.data.repo_id
|
||||||
}),
|
}),
|
||||||
type: 'DELETE',
|
type: 'DELETE',
|
||||||
|
@@ -125,6 +125,9 @@ define([
|
|||||||
case 'repo_labels': return siteRoot + 'api/v2.1/revision-tags/tagged-items/';
|
case 'repo_labels': return siteRoot + 'api/v2.1/revision-tags/tagged-items/';
|
||||||
case 'user_repo_labels': return siteRoot + 'api/v2.1/revision-tags/tag-names/';
|
case 'user_repo_labels': return siteRoot + 'api/v2.1/revision-tags/tag-names/';
|
||||||
|
|
||||||
|
case 'group-owned-library-user-folder-permission': return siteRoot + 'api/v2.1/group-owned-libraries/' + options.repo_id + '/user-folder-permission/';
|
||||||
|
case 'group-owned-library-group-folder-permission': return siteRoot + 'api/v2.1/group-owned-libraries/' + options.repo_id + '/group-folder-permission/';
|
||||||
|
|
||||||
// Share admin
|
// Share admin
|
||||||
case 'share_admin_repos': return siteRoot + 'api/v2.1/shared-repos/';
|
case 'share_admin_repos': return siteRoot + 'api/v2.1/shared-repos/';
|
||||||
case 'share_admin_repo': return siteRoot + 'api/v2.1/shared-repos/' + options.repo_id + '/';
|
case 'share_admin_repo': return siteRoot + 'api/v2.1/shared-repos/' + options.repo_id + '/';
|
||||||
@@ -150,6 +153,8 @@ define([
|
|||||||
case 'group_repos': return siteRoot + 'api2/groups/' + options.group_id + '/repos/';
|
case 'group_repos': return siteRoot + 'api2/groups/' + options.group_id + '/repos/';
|
||||||
case 'group_owned_repos': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/group-owned-libraries/';
|
case 'group_owned_repos': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/group-owned-libraries/';
|
||||||
case 'group_owned_repo': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/group-owned-libraries/' + options.repo_id + '/';
|
case 'group_owned_repo': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/group-owned-libraries/' + options.repo_id + '/';
|
||||||
|
case 'address_book_sub_groups': return siteRoot + 'api/v2.1/address-book/groups/' + options.group_id + '/sub-groups/';
|
||||||
|
case 'address_book_group_search_members': return siteRoot + 'api/v2.1/address-book/groups/' + options.group_id + '/search-member/';
|
||||||
case 'group_discussions': return siteRoot + 'api2/groups/' + options.group_id + '/discussions/';
|
case 'group_discussions': return siteRoot + 'api2/groups/' + options.group_id + '/discussions/';
|
||||||
case 'group_discussion': return siteRoot + 'api2/groups/' + options.group_id + '/discussions/' + options.discussion_id + '/';
|
case 'group_discussion': return siteRoot + 'api2/groups/' + options.group_id + '/discussions/' + options.discussion_id + '/';
|
||||||
|
|
||||||
@@ -630,8 +635,16 @@ define([
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
contactInputOptionsForSelect2: function() {
|
contactInputOptionsForSelect2: function(options) {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
|
|
||||||
|
var url;
|
||||||
|
if (options && options.url) {
|
||||||
|
url = options.url;
|
||||||
|
} else {
|
||||||
|
url = _this.getUrl({name: 'search_user'});
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
placeholder: gettext("Search users or enter emails and press Enter"),
|
placeholder: gettext("Search users or enter emails and press Enter"),
|
||||||
|
|
||||||
@@ -647,7 +660,7 @@ define([
|
|||||||
formatAjaxError: gettext("Loading failed"),
|
formatAjaxError: gettext("Loading failed"),
|
||||||
|
|
||||||
ajax: {
|
ajax: {
|
||||||
url: _this.getUrl({name: 'search_user'}),
|
url: url,
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
delay: 250,
|
delay: 250,
|
||||||
cache: true,
|
cache: true,
|
||||||
@@ -657,7 +670,7 @@ define([
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
results: function(data) {
|
results: function(data) {
|
||||||
var user_list = [], users = data['users'];
|
var user_list = [], users = data['users'] || data;
|
||||||
|
|
||||||
for (var i = 0, len = users.length; i < len; i++) {
|
for (var i = 0, len = users.length; i < len; i++) {
|
||||||
user_list.push({ // 'id' & 'text' are required by the plugin
|
user_list.push({ // 'id' & 'text' are required by the plugin
|
||||||
|
@@ -191,10 +191,8 @@ define([
|
|||||||
success: function(data) {
|
success: function(data) {
|
||||||
if (data.success.length > 0) {
|
if (data.success.length > 0) {
|
||||||
_this.memberCollection.add(data.success, {prepend: true});
|
_this.memberCollection.add(data.success, {prepend: true});
|
||||||
if (_this.memberCollection.length == 1) {
|
_this.$membersEmptyTip.hide();
|
||||||
_this.$membersEmptyTip.hide();
|
_this.$membersTable.show();
|
||||||
_this.$membersTable.show();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var err_str = '';
|
var err_str = '';
|
||||||
|
Reference in New Issue
Block a user