mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
load groups when clicking on them
This commit is contained in:
parent
e681e1eec0
commit
478393e15a
3 changed files with 49 additions and 7 deletions
|
|
@ -32,10 +32,19 @@ if (isset($_GET['limit'])) {
|
|||
} else {
|
||||
$limit = 10;
|
||||
}
|
||||
if (isset($_GET['gid']) && !empty($_GET['gid'])) {
|
||||
$gid = $_GET['gid'];
|
||||
} else {
|
||||
$gid = false;
|
||||
}
|
||||
$users = array();
|
||||
$userManager = \OC_User::getManager();
|
||||
if (OC_User::isAdminUser(OC_User::getUser())) {
|
||||
$batch = OC_User::getDisplayNames('', $limit, $offset);
|
||||
if($gid !== false) {
|
||||
$batch = OC_Group::displayNamesInGroup($gid, '', $limit, $offset);
|
||||
} else {
|
||||
$batch = OC_User::getDisplayNames('', $limit, $offset);
|
||||
}
|
||||
foreach ($batch as $uid => $displayname) {
|
||||
$user = $userManager->get($uid);
|
||||
$users[] = array(
|
||||
|
|
@ -50,6 +59,12 @@ if (OC_User::isAdminUser(OC_User::getUser())) {
|
|||
}
|
||||
} else {
|
||||
$groups = OC_SubAdmin::getSubAdminsGroups(OC_User::getUser());
|
||||
if($gid !== false && in_array($gid, $groups)) {
|
||||
$groups = array($gid);
|
||||
} elseif($gid !== false) {
|
||||
//don't you try to investigate loops you must not know about
|
||||
$groups = array();
|
||||
}
|
||||
$batch = OC_Group::usersInGroups($groups, '', $limit, $offset);
|
||||
foreach ($batch as $uid) {
|
||||
$user = $userManager->get($uid);
|
||||
|
|
|
|||
|
|
@ -19,6 +19,11 @@
|
|||
OC.Notification.showHtml(t('settings', 'deleted') + ' ' + escapeHTML(gid) + '<span class="undo">' + t('settings', 'undo') + '</span>');
|
||||
},
|
||||
|
||||
showGroup: function (gid) {
|
||||
UserList.empty();
|
||||
UserList.update(gid);
|
||||
},
|
||||
|
||||
finishDelete: function (ready) {
|
||||
if (!GroupList.deleteCanceled && GroupList.deleteGid) {
|
||||
$.ajax({
|
||||
|
|
|
|||
|
|
@ -139,7 +139,13 @@ var UserList = {
|
|||
}
|
||||
tr.find('td.lastLogin').text(lastLogin);
|
||||
$(tr).appendTo('tbody');
|
||||
|
||||
if(UserList.isEmpty === true) {
|
||||
//when the list was emptied, one row was left, necessary to keep
|
||||
//add working and the layout unbroken. We need to remove this item
|
||||
tr.show();
|
||||
$('tbody tr').first().remove();
|
||||
UserList.isEmpty = false;
|
||||
}
|
||||
if (sort) {
|
||||
UserList.doSort();
|
||||
}
|
||||
|
|
@ -215,16 +221,23 @@ var UserList = {
|
|||
$('tbody').append(items);
|
||||
}
|
||||
},
|
||||
update: function () {
|
||||
empty: function() {
|
||||
//one row needs to be kept, because it is cloned to add new rows
|
||||
$('tbody tr:not(:first)').remove();
|
||||
$('tbody tr').first().hide();
|
||||
UserList.isEmpty = true;
|
||||
UserList.offset = 0;
|
||||
},
|
||||
update: function (gid) {
|
||||
if (UserList.updating) {
|
||||
return;
|
||||
}
|
||||
$('table+.loading').css('visibility', 'visible');
|
||||
UserList.updating = true;
|
||||
var query = $.param({ offset: UserList.offset, limit: UserList.usersToLoad });
|
||||
$.get(OC.generateUrl('/settings/ajax/userlist') + '?' + query, function (result) {
|
||||
var loadedUsers = 0;
|
||||
var trs = [];
|
||||
if(gid === undefined) {
|
||||
gid = '';
|
||||
}
|
||||
$.get(OC.Router.generate('settings_ajax_userlist', { offset: UserList.offset, limit: UserList.usersToLoad, gid: gid }), function (result) {
|
||||
if (result.status === 'success') {
|
||||
//The offset does not mirror the amount of users available,
|
||||
//because it is backend-dependent. For correct retrieval,
|
||||
|
|
@ -485,6 +498,15 @@ $(document).ready(function () {
|
|||
});
|
||||
});
|
||||
|
||||
// click on group name
|
||||
// FIXME: also triggered when clicking on "remove"
|
||||
$('ul').on('click', 'li', function (event) {
|
||||
var li = $(this);
|
||||
var gid = $(li).attr('data-gid');
|
||||
// Call function for handling delete/undo on Groups
|
||||
GroupList.showGroup(gid);
|
||||
});
|
||||
|
||||
$('#newuser').submit(function (event) {
|
||||
event.preventDefault();
|
||||
var username = $('#newusername').val();
|
||||
|
|
|
|||
Loading…
Reference in a new issue