} 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(
}
} 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);
}
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();
}
$('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,
});
});
+ // 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();