Extra non-available groups also in list

This commit is contained in:
Vincent Petry 2016-08-24 10:03:07 +02:00 committed by Arthur Schiwon
parent e8c2d62c6b
commit 17964a8955
No known key found for this signature in database
GPG Key ID: 7424F1874854DF23
1 changed files with 15 additions and 2 deletions

View File

@ -565,6 +565,7 @@ var UserList = {
var placeholder = $groupsListContainer.attr('data-placeholder') || t('settings', 'no group');
var user = UserList.getUID($td);
var checked = $td.data('groups') || [];
var extraGroups = [].concat(checked);
$td.find('.multiselectoptions').remove();
@ -576,12 +577,25 @@ var UserList = {
$groupsSelect = $('<select multiple="multiple" class="subadminsselect multiselect button" title="' + placeholder + '"></select>')
}
$.each(this.availableGroups, function (i, group) {
function createItem(group) {
if (isSubadminSelect && group === 'admin') {
// can't become subadmin of "admin" group
return;
}
$groupsSelect.append($('<option value="' + escapeHTML(group) + '">' + escapeHTML(group) + '</option>'));
}
$.each(this.availableGroups, function (i, group) {
// some new groups might be selected but not in the available groups list yet
var extraIndex = extraGroups.indexOf(group);
if (extraIndex >= 0) {
// remove extra group as it was found
extraGroups.splice(extraIndex, 1);
}
createItem(group);
});
$.each(extraGroups, function (i, group) {
createItem(group);
});
$td.append($groupsSelect);
@ -779,7 +793,6 @@ $(document).ready(function () {
});
$('#newuser .groupsListContainer').on('click', function (event) {
var $target = $(event.target);
event.stopPropagation();
var $div = $(this).closest('.groups');
UserList._triggerGroupEdit($div);