diff --git a/src/app/group/models/GroupModelAbstract.php b/src/app/group/models/GroupModelAbstract.php index 0f91c5d12d6e306da6052431dff63151127c8c3a..02bab73fa057d60d291b9c1d55a146e270c5db71 100755 --- a/src/app/group/models/GroupModelAbstract.php +++ b/src/app/group/models/GroupModelAbstract.php @@ -195,17 +195,23 @@ abstract class GroupModelAbstract $rawUserGroups = UserModel::getGroupsByUser(['id' => $aArgs['userId']]); $userGroups = array_column($rawUserGroups, 'group_id'); - if ($GLOBALS['userId'] == 'superadmin') { - $allGroups = GroupModel::get(['select' => ['group_id', 'group_desc']]); - } else { - $allGroups = PrivilegeController::getAssignableGroups(['userId' => $GLOBALS['id']]); + $allGroups = GroupModel::get(['select' => ['group_id', 'group_desc']]); + $assignableGroups = PrivilegeController::getAssignableGroups(['userId' => $GLOBALS['id']]); + $assignableGroups = array_column($assignableGroups, 'group_id'); + + foreach ($allGroups as $key => $value) { + if (in_array($value['group_id'], $assignableGroups)) { + $allGroups[$key]['enabled'] = true; + } else { + $allGroups[$key]['enabled'] = false; + } } foreach ($allGroups as $key => $value) { if (in_array($value['group_id'], $userGroups)) { - $allGroups[$key]['disabled'] = true; + $allGroups[$key]['checked'] = true; } else { - $allGroups[$key]['disabled'] = false; + $allGroups[$key]['checked'] = false; } } diff --git a/src/frontend/app/administration/user/user-administration.component.html b/src/frontend/app/administration/user/user-administration.component.html index 835a01c9c453aec3c5fb85ecf269769c1ec3597d..b81d74506d97dba7e707e20594f0d57f33c595d5 100755 --- a/src/frontend/app/administration/user/user-administration.component.html +++ b/src/frontend/app/administration/user/user-administration.component.html @@ -219,7 +219,7 @@ <mat-nav-list> <mat-list-item *ngFor="let group of user.allGroups" disableRipple="true"> <mat-slide-toggle id="{{group.group_id}}" color="primary" - [checked]="group.disabled == true" (change)="toggleGroup(group)"> + [checked]="group.checked == true" [disabled]="!group.enabled" (change)="toggleGroup(group)"> {{group.group_desc}}</mat-slide-toggle> </mat-list-item> </mat-nav-list>