X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Fapp%2Flayouts%2Fheader%2FHeaderComponent.ts;h=45807f948dda2d69565275e6a29f4896b4ff88ec;hb=HEAD;hp=b496ff1f1a8c48beb0af0f2b2aeb0586579a971a;hpb=063a3f1741d0cb20d5ee80590339fec54ab1acdd;p=osm%2FNG-UI.git diff --git a/src/app/layouts/header/HeaderComponent.ts b/src/app/layouts/header/HeaderComponent.ts index b496ff1..45807f9 100644 --- a/src/app/layouts/header/HeaderComponent.ts +++ b/src/app/layouts/header/HeaderComponent.ts @@ -20,12 +20,15 @@ * @file Header Component */ import { Component, Injector, OnInit } from '@angular/core'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { AddEditUserComponent } from 'AddEditUserComponent'; import { AuthenticationService } from 'AuthenticationService'; +import { MODALCLOSERESPONSEDATA } from 'CommonModel'; import { environment } from 'environment'; import { ProjectService } from 'ProjectService'; import { Observable } from 'rxjs'; -import { SharedService } from 'SharedService'; +import { SharedService, isNullOrUndefined } from 'SharedService'; import { UserSettingsComponent } from 'UserSettingsComponent'; /** @@ -60,12 +63,21 @@ export class HeaderComponent implements OnInit { /** Version holds packages version @public */ public PACKAGEVERSION: string; + /** To check the role of the user is systemadmin or not @public */ + public isSystemAdmin: boolean; + /** Contains all methods related to shared @public */ public sharedService: SharedService; /** Property contains to show new version tag shared @public */ public toShowNewTag: Boolean = false; + /** handle translate @public */ + public translateService: TranslateService; + + /** Version holds version @public */ + public getLocalStorageVersion: string; + /** Utilizes auth service for any auth operations @private */ private authService: AuthenticationService; @@ -81,23 +93,30 @@ export class HeaderComponent implements OnInit { this.modalService = this.injector.get(NgbModal); this.projectService = this.injector.get(ProjectService); this.sharedService = this.injector.get(SharedService); + this.translateService = this.injector.get(TranslateService); } /** Lifecyle Hooks the trigger before component is instantiate @public */ public ngOnInit(): void { - this.isAdmin = (localStorage.getItem('isAdmin') === 'true') ? true : false; + this.isAdmin = (sessionStorage.getItem('isAdmin') === 'true') ? true : false; + this.isSystemAdmin = sessionStorage.getItem('admin_show') === 'true' ? true : false; this.selectedProject = this.authService.ProjectName; this.authService.ProjectName.subscribe((projectNameFinal: string): void => { this.getSelectedProject = projectNameFinal; }); + this.sharedService.fetchOSMVersion(); this.username$ = this.authService.username; this.projectService.setHeaderProjects(); this.projectList$ = this.projectService.projectList; this.PACKAGEVERSION = environment.packageVersion; - const getLocalStorageVersion: string = localStorage.getItem('osmVersion'); - if (getLocalStorageVersion === null) { + if (!isNullOrUndefined(sessionStorage.getItem('version'))) { + this.getLocalStorageVersion = sessionStorage.getItem('version'); + } else if (!isNullOrUndefined(this.sharedService.osmVersion)) { + this.getLocalStorageVersion = this.sharedService.osmVersion; + } + if (this.getLocalStorageVersion === null) { this.showNewVersion(); - } else if (getLocalStorageVersion !== this.sharedService.osmVersion) { + } else if (this.getLocalStorageVersion !== sessionStorage.getItem('osmVersion')) { this.showNewVersion(); } } @@ -115,11 +134,28 @@ export class HeaderComponent implements OnInit { /** Close Version and add in local storage @public */ public closeVersion(): void { this.toShowNewTag = false; - localStorage.setItem('osmVersion', this.sharedService.osmVersion); + sessionStorage.setItem('osmVersion', this.sharedService.osmVersion); } /** Implementation of model for UserSettings options.@public */ public userSettings(): void { + // eslint-disable-next-line security/detect-non-literal-fs-filename this.modalService.open(UserSettingsComponent, { backdrop: 'static' }); } + + /** ChangePassword Function @public */ + public changePassword(): void { + // eslint-disable-next-line security/detect-non-literal-fs-filename + const modalRef: NgbModalRef = this.modalService.open(AddEditUserComponent, { backdrop: 'static' }); + modalRef.componentInstance.userID = sessionStorage.getItem('user_id'); + modalRef.componentInstance.userTitle = this.translateService.instant('PAGE.USERS.EDITCREDENTIALS'); + modalRef.componentInstance.userType = 'changePassword'; + modalRef.result.then((result: MODALCLOSERESPONSEDATA): void => { + if (result) { + this.sharedService.callData(); + } + }).catch((): void => { + // Catch Navigation Error + }); + } }