summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/settings/lib/Controller/UsersController.php57
-rw-r--r--apps/settings/src/views/Users.vue4
2 files changed, 36 insertions, 25 deletions
diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php
index aaa4736087e..cb99d1bd74b 100644
--- a/apps/settings/lib/Controller/UsersController.php
+++ b/apps/settings/lib/Controller/UsersController.php
@@ -184,31 +184,38 @@ class UsersController extends Controller {
});
}
- if ($this->isAdmin) {
- $disabledUsers = $isLDAPUsed ? -1 : $this->userManager->countDisabledUsers();
- $userCount = $isLDAPUsed ? 0 : array_reduce($this->userManager->countUsers(), function($v, $w) {
- return $v + (int)$w;
- }, 0);
- } else {
- // User is subadmin !
- // Map group list to names to retrieve the countDisabledUsersOfGroups
- $userGroups = $this->groupManager->getUserGroups($user);
- $groupsNames = [];
- $userCount = 0;
-
- foreach($groups as $key => $group) {
- // $userCount += (int)$group['usercount'];
- array_push($groupsNames, $group['name']);
- // we prevent subadmins from looking up themselves
- // so we lower the count of the groups he belongs to
- if (array_key_exists($group['id'], $userGroups)) {
- $groups[$key]['usercount']--;
- $userCount = -1; // we also lower from one the total count
- }
- };
- $userCount += $isLDAPUsed ? 0 : $this->userManager->countUsersOfGroups($groupsInfo->getGroups());
- $disabledUsers = $isLDAPUsed ? -1 : $this->userManager->countDisabledUsersOfGroups($groupsNames);
+ $disabledUsers = -1;
+ $userCount = 0;
+
+ if(!$isLDAPUsed) {
+ if ($this->isAdmin) {
+ $disabledUsers = $this->userManager->countDisabledUsers();
+ $userCount = array_reduce($this->userManager->countUsers(), function($v, $w) {
+ return $v + (int)$w;
+ }, 0);
+ } else {
+ // User is subadmin !
+ // Map group list to names to retrieve the countDisabledUsersOfGroups
+ $userGroups = $this->groupManager->getUserGroups($user);
+ $groupsNames = [];
+
+ foreach($groups as $key => $group) {
+ // $userCount += (int)$group['usercount'];
+ array_push($groupsNames, $group['name']);
+ // we prevent subadmins from looking up themselves
+ // so we lower the count of the groups he belongs to
+ if (array_key_exists($group['id'], $userGroups)) {
+ $groups[$key]['usercount']--;
+ $userCount -= 1; // we also lower from one the total count
+ }
+ };
+ $userCount += $this->userManager->countUsersOfGroups($groupsInfo->getGroups());
+ $disabledUsers = $this->userManager->countDisabledUsersOfGroups($groupsNames);
+ }
+
+ $userCount -= $disabledUsers;
}
+
$disabledUsersGroup = [
'id' => 'disabled',
'name' => 'Disabled users',
@@ -237,7 +244,7 @@ class UsersController extends Controller {
$serverData['isAdmin'] = $this->isAdmin;
$serverData['sortGroups'] = $sortGroupsBy;
$serverData['quotaPreset'] = $quotaPreset;
- $serverData['userCount'] = $userCount - $disabledUsers;
+ $serverData['userCount'] = $userCount;
$serverData['languages'] = $languages;
$serverData['defaultLanguage'] = $this->config->getSystemValue('default_language', 'en');
// Settings
diff --git a/apps/settings/src/views/Users.vue b/apps/settings/src/views/Users.vue
index 3c3082fc077..eb52fa4ba16 100644
--- a/apps/settings/src/views/Users.vue
+++ b/apps/settings/src/views/Users.vue
@@ -283,6 +283,10 @@ export default {
|| disabledGroup.utils.counter === -1) // add disabled if ldap enabled
) {
groups.unshift(disabledGroup)
+ if (disabledGroup.utils.counter === -1) {
+ // hides the counter instead of showing -1
+ delete disabledGroup.utils.counter
+ }
}
}