Skip to content

Commit 6cccea5

Browse files
Kuliakbodnara
authored andcommitted
feat(admin): user detail page updated to show anonymization status
* new icon is displayed if user has been anonymized * buttons for anonymization and edit are disabled is user has been anonymized
1 parent c83b619 commit 6cccea5

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed

apps/admin-gui/src/app/admin/pages/admin-user-detail-page/admin-user-detail-page.component.html

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,22 @@
1515
</a>
1616
<span class="text-muted"> &nbsp;#{{user.id}} </span>
1717
<span *ngIf="authResolver.isPerunAdmin()">
18-
<button (click)="editUser()" mat-icon-button data-cy="edit-user-button">
18+
<button
19+
*ngIf="!anonymized"
20+
(click)="editUser()"
21+
mat-icon-button
22+
data-cy="edit-user-button">
1923
<mat-icon>edit</mat-icon>
2024
</button>
21-
<button (click)="anonymizeUser()" mat-icon-button>
25+
<button *ngIf="!anonymized" (click)="anonymizeUser()" mat-icon-button>
2226
<mat-icon>no_accounts</mat-icon>
2327
</button>
28+
<mat-icon
29+
*ngIf="anonymized"
30+
matTooltip="{{'USER_DETAIL.DASHBOARD.ANONYMIZED' | translate}}"
31+
class="mat-icon-war ml-2">
32+
blur_off
33+
</mat-icon>
2434
</span>
2535
</div>
2636
<div>{{'ADMIN_USER.UUID' | translate}}: {{user.uuid}}</div>

apps/admin-gui/src/app/admin/pages/admin-user-detail-page/admin-user-detail-page.component.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core';
22
import { ActivatedRoute, Router } from '@angular/router';
33
import { SideMenuService } from '../../../core/services/common/side-menu.service';
44
import { SideMenuItemService } from '../../../shared/side-menu/side-menu-item.service';
5-
import { User, UsersManagerService } from '@perun-web-apps/perun/openapi';
5+
import { AttributesManagerService, User, UsersManagerService } from '@perun-web-apps/perun/openapi';
66
import { getDefaultDialogConfig } from '@perun-web-apps/perun/utils';
77
import { MatDialog } from '@angular/material/dialog';
88
import { EditUserDialogComponent } from '../../../shared/components/dialogs/edit-user-dialog/edit-user-dialog.component';
@@ -18,11 +18,13 @@ export class AdminUserDetailPageComponent implements OnInit {
1818
user: User;
1919
loading = false;
2020
svgIcon = 'perun-user-dark';
21+
anonymized: boolean;
2122
private path: string;
2223
private regex: string;
2324

2425
constructor(
2526
private route: ActivatedRoute,
27+
private attributesService: AttributesManagerService,
2628
private usersService: UsersManagerService,
2729
private sideMenuService: SideMenuService,
2830
private sideMenuItemService: SideMenuItemService,
@@ -54,6 +56,13 @@ export class AdminUserDetailPageComponent implements OnInit {
5456
},
5557
() => (this.loading = false)
5658
);
59+
60+
const anonymizedAttrName = 'urn:perun:user:attribute-def:virt:anonymized';
61+
this.attributesService
62+
.getAttribute(anonymizedAttrName, undefined, undefined, userId)
63+
.subscribe((attr) => {
64+
this.anonymized = Boolean(attr.value);
65+
});
5766
});
5867
}
5968

apps/admin-gui/src/assets/i18n/en.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2418,7 +2418,8 @@
24182418
"DASHBOARD_SETTINGS": "Dashboard Settings",
24192419
"SHOW_RECENTLY_VIEWED": "Show Recently viewed",
24202420
"SHOW_ROLES": "Show roles",
2421-
"MAIL_CHANGE_SUCCESS": "Preferred mail has been changed"
2421+
"MAIL_CHANGE_SUCCESS": "Preferred mail has been changed",
2422+
"ANONYMIZED": "User anonymized"
24222423
},
24232424
"OVERVIEW": {
24242425
"GENERAL_SETTINGS": "General settings"

0 commit comments

Comments
 (0)