* @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';
/**
/** 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;
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();
}
}
/** 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
+ });
+ }
}