diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts index 872bdc92e..2d5780d9c 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts @@ -64,6 +64,21 @@ export class UserDetailsComponent implements OnInit { }, []); } + shouldBeDisabled(role: string): boolean { + if (!this.user) { + return false; + } + + const isCurrentAdminUser = this.user.isAdmin && this.user.id === this._userService.currentUser.id; + return ( + (role === 'RED_ADMIN' && isCurrentAdminUser) || + Object.keys(this._ROLE_REQUIREMENTS).reduce( + (value, key) => value || (role === this._ROLE_REQUIREMENTS[key] && this.user.roles.includes(key)), + false, + ) + ); + } + ngOnInit() { const rolesControls = this.ROLES.reduce( (prev, role) => ({ @@ -71,12 +86,7 @@ export class UserDetailsComponent implements OnInit { [role]: [ { value: this.user && this.user.roles.indexOf(role) !== -1, - disabled: - this.user && - Object.keys(this._ROLE_REQUIREMENTS).reduce( - (value, key) => value || (role === this._ROLE_REQUIREMENTS[key] && this.user.roles.indexOf(key) !== -1), - false, - ), + disabled: this.shouldBeDisabled(role), }, ], }), diff --git a/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.ts index b0032d04e..5fc783876 100644 --- a/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.ts @@ -76,7 +76,7 @@ export class TrashScreenComponent extends ListingComponent impl hardDelete(dossiers = this.listingService.selected): void { const data = new ConfirmationDialogInput({ title: _('confirmation-dialog.delete-dossier.title'), - titleColor: TitleColors.PRIMARY, + titleColor: TitleColors.WARN, question: _('confirmation-dialog.delete-dossier.question'), // details: _('confirmation-dialog.delete-dossier.details'), confirmationText: _('confirmation-dialog.delete-dossier.confirmation-text'), diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts index d571ca2d9..c3a45ab90 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts @@ -75,7 +75,7 @@ export class EditDossierDeletedDocumentsComponent extends ListingComponent