fix: deactivate only active users, activate only inactive users (#3111)

This commit is contained in:
Max Peintner 2022-01-25 11:51:40 +01:00 committed by GitHub
parent 542651707a
commit 159d82ad8e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 7 deletions

View File

@ -23,7 +23,7 @@
<button mat-menu-item color="warn" *ngIf="user?.state === UserState.USER_STATE_LOCKED" <button mat-menu-item color="warn" *ngIf="user?.state === UserState.USER_STATE_LOCKED"
(click)="unlockUser()">{{'USER.PAGES.UNLOCK' | (click)="unlockUser()">{{'USER.PAGES.UNLOCK' |
translate}}</button> translate}}</button>
<button mat-menu-item *ngIf="user?.state !== UserState.USER_STATE_INACTIVE" <button mat-menu-item *ngIf="user?.state === UserState.USER_STATE_ACTIVE"
(click)="changeState(UserState.USER_STATE_INACTIVE)">{{'USER.PAGES.DEACTIVATE' | (click)="changeState(UserState.USER_STATE_INACTIVE)">{{'USER.PAGES.DEACTIVATE' |
translate}}</button> translate}}</button>
<button mat-menu-item *ngIf="user?.state === UserState.USER_STATE_INACTIVE" <button mat-menu-item *ngIf="user?.state === UserState.USER_STATE_INACTIVE"

View File

@ -104,9 +104,11 @@ export class UserTableComponent implements OnInit {
public deactivateSelectedUsers(): void { public deactivateSelectedUsers(): void {
Promise.all( Promise.all(
this.selection.selected.map((value) => { this.selection.selected
return this.userService.deactivateUser(value.id); .filter((u) => u.state === UserState.USER_STATE_ACTIVE)
}), .map((value) => {
return this.userService.deactivateUser(value.id);
}),
) )
.then(() => { .then(() => {
this.toast.showInfo('USER.TOAST.SELECTEDDEACTIVATED', true); this.toast.showInfo('USER.TOAST.SELECTEDDEACTIVATED', true);
@ -122,9 +124,11 @@ export class UserTableComponent implements OnInit {
public reactivateSelectedUsers(): void { public reactivateSelectedUsers(): void {
Promise.all( Promise.all(
this.selection.selected.map((value) => { this.selection.selected
return this.userService.reactivateUser(value.id); .filter((u) => u.state === UserState.USER_STATE_INACTIVE)
}), .map((value) => {
return this.userService.reactivateUser(value.id);
}),
) )
.then(() => { .then(() => {
this.toast.showInfo('USER.TOAST.SELECTEDREACTIVATED', true); this.toast.showInfo('USER.TOAST.SELECTEDREACTIVATED', true);