Merge pull request #17622 from nextcloud/backport/17450/stable16
[stable16] hide strange Everyone and Disabled group numbers with LDAP
This commit is contained in:
commit
6a9acba384
7 changed files with 50 additions and 37 deletions
|
@ -187,9 +187,13 @@ class UsersController extends Controller {
|
|||
});
|
||||
}
|
||||
|
||||
$disabledUsers = -1;
|
||||
$userCount = 0;
|
||||
|
||||
if(!$isLDAPUsed) {
|
||||
if ($this->isAdmin) {
|
||||
$disabledUsers = $isLDAPUsed ? -1 : $this->userManager->countDisabledUsers();
|
||||
$userCount = $isLDAPUsed ? 0 : array_reduce($this->userManager->countUsers(), function($v, $w) {
|
||||
$disabledUsers = $this->userManager->countDisabledUsers();
|
||||
$userCount = array_reduce($this->userManager->countUsers(), function($v, $w) {
|
||||
return $v + (int)$w;
|
||||
}, 0);
|
||||
} else {
|
||||
|
@ -197,7 +201,6 @@ class UsersController extends Controller {
|
|||
// 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'];
|
||||
|
@ -206,12 +209,16 @@ class UsersController extends Controller {
|
|||
// 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 -= 1; // we also lower from one the total count
|
||||
}
|
||||
};
|
||||
$userCount += $isLDAPUsed ? 0 : $this->userManager->countUsersOfGroups($groupsInfo->getGroups());
|
||||
$disabledUsers = $isLDAPUsed ? -1 : $this->userManager->countDisabledUsersOfGroups($groupsNames);
|
||||
$userCount += $this->userManager->countUsersOfGroups($groupsInfo->getGroups());
|
||||
$disabledUsers = $this->userManager->countDisabledUsersOfGroups($groupsNames);
|
||||
}
|
||||
|
||||
$userCount -= $disabledUsers;
|
||||
}
|
||||
|
||||
$disabledUsersGroup = [
|
||||
'id' => 'disabled',
|
||||
'name' => 'Disabled users',
|
||||
|
@ -240,7 +247,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
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -98,7 +98,7 @@ const mutations = {
|
|||
let group = state.groups.find(groupSearch => groupSearch.id == gid);
|
||||
let user = state.users.find(user => user.id == userid);
|
||||
// increase count if user is enabled
|
||||
if (group && user.enabled) {
|
||||
if (group && user.enabled && state.userCount > 0) {
|
||||
group.usercount++;
|
||||
}
|
||||
let groups = user.groups;
|
||||
|
@ -109,7 +109,7 @@ const mutations = {
|
|||
let group = state.groups.find(groupSearch => groupSearch.id == gid);
|
||||
let user = state.users.find(user => user.id == userid);
|
||||
// lower count if user is enabled
|
||||
if (group && user.enabled) {
|
||||
if (group && user.enabled && state.userCount > 0) {
|
||||
group.usercount--;
|
||||
}
|
||||
let groups = user.groups;
|
||||
|
@ -135,12 +135,14 @@ const mutations = {
|
|||
let user = state.users.find(user => user.id == userid);
|
||||
user.enabled = enabled;
|
||||
// increment or not
|
||||
state.groups.find(group => group.id == 'disabled').usercount += enabled ? -1 : 1;
|
||||
state.userCount += enabled ? 1 : -1;
|
||||
if (state.userCount > 0) {
|
||||
state.groups.find(group => group.id === 'disabled').usercount += enabled ? -1 : 1
|
||||
state.userCount += enabled ? 1 : -1
|
||||
user.groups.forEach(group => {
|
||||
// Increment disabled count
|
||||
state.groups.find(groupSearch => groupSearch.id == group).disabled += enabled ? -1 : 1;
|
||||
});
|
||||
state.groups.find(groupSearch => groupSearch.id === group).disabled += enabled ? -1 : 1
|
||||
})
|
||||
}
|
||||
},
|
||||
setUserData(state, { userid, key, value }) {
|
||||
if (key === 'quota') {
|
||||
|
|
|
@ -384,6 +384,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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue