From b11ede8e54a75728e060ddea4cc50fc15a469333 Mon Sep 17 00:00:00 2001 From: Art Date: Fri, 8 Oct 2021 13:37:38 +0300 Subject: [PATCH] 31.3. Management Component Base Implementation (#31) --- .../management/management.component.html | 56 ++++++++++++++++++- .../management/management.component.ts | 24 +++++++- 2 files changed, 77 insertions(+), 3 deletions(-) diff --git a/support-portal-frontend/src/app/component/management/management.component.html b/support-portal-frontend/src/app/component/management/management.component.html index f609401..50107d3 100644 --- a/support-portal-frontend/src/app/component/management/management.component.html +++ b/support-portal-frontend/src/app/component/management/management.component.html @@ -1,2 +1,54 @@ -

management works!

- +
+
+
+
+
+
User Management Portal
+ {{title}} +
+
+
+
+ + + + + +
+ +
+ +
diff --git a/support-portal-frontend/src/app/component/management/management.component.ts b/support-portal-frontend/src/app/component/management/management.component.ts index 3e50a94..8ee63fb 100644 --- a/support-portal-frontend/src/app/component/management/management.component.ts +++ b/support-portal-frontend/src/app/component/management/management.component.ts @@ -1,4 +1,9 @@ import {Component, OnInit} from '@angular/core'; +import {Role} from "../../enum/role.enum"; +import {User} from "../../model/user"; +import {AuthenticationService} from "../../service/authentication.service"; +import {Router} from "@angular/router"; +import {BehaviorSubject} from "rxjs"; @Component({ selector: 'app-management', @@ -7,9 +12,26 @@ import {Component, OnInit} from '@angular/core'; }) export class ManagementComponent implements OnInit { - constructor() { } + public loggedInUser: User; + private titleSubject = new BehaviorSubject('Users'); + public titleAction$ = this.titleSubject.asObservable(); + + constructor(private authenticationService: AuthenticationService, + private router: Router) { } ngOnInit(): void { + this.loggedInUser = this.authenticationService.getUserFromLocalStorage(); } + public changeTitle(title: string): void { + this.titleSubject.next(title); + } + + public get isAdmin(): boolean { + return this.loggedInUser.role === Role.ADMIN || this.loggedInUser.role === Role.SUPER_ADMIN; + } + + public get isManager(): boolean { + return this.isAdmin || this.loggedInUser.role === Role.MANAGER; + } }