diff --git a/settings/ajax/grouplist.php b/settings/ajax/grouplist.php index 52df98c4e5..93bb510773 100644 --- a/settings/ajax/grouplist.php +++ b/settings/ajax/grouplist.php @@ -38,9 +38,7 @@ $adminGroups = array(); $groupManager = \OC_Group::getManager(); $isAdmin = OC_User::isAdminUser(OC_User::getUser()); -//we pass isAdmin as true, because OC_SubAdmin has no search feature, -//groups will be filtered out later -$groupsInfo = new \OC\Group\MetaData(OC_User::getUser(), true, $groupManager); +$groupsInfo = new \OC\Group\MetaData(OC_User::getUser(), $isAdmin, $groupManager); $groupsInfo->setSorting($groupsInfo::SORT_USERCOUNT); list($adminGroups, $groups) = $groupsInfo->get($groupPattern, $pattern); diff --git a/settings/ajax/userlist.php b/settings/ajax/userlist.php index 2bf40686b8..a99c221beb 100644 --- a/settings/ajax/userlist.php +++ b/settings/ajax/userlist.php @@ -76,10 +76,13 @@ if (OC_User::isAdminUser(OC_User::getUser())) { $batch = OC_Group::usersInGroups($groups, $pattern, $limit, $offset); foreach ($batch as $uid) { $user = $userManager->get($uid); + + // Only add the groups, this user is a subadmin of + $userGroups = array_intersect(OC_Group::getUserGroups($uid), OC_SubAdmin::getSubAdminsGroups(OC_User::getUser())); $users[] = array( - 'name' => $user, + 'name' => $uid, 'displayname' => $user->getDisplayName(), - 'groups' => join(', ', OC_Group::getUserGroups($uid)), + 'groups' => join(', ', $userGroups), 'quota' => OC_Preferences::getValue($uid, 'files', 'quota', 'default'), 'storageLocation' => $user->getHome(), 'lastLogin' => $user->getLastLogin(),