| /* |
| ****************************************************************************** |
| * Copyright © 2018 PTA GmbH. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| ****************************************************************************** |
| */ |
| import { Injectable } from '@angular/core'; |
| import { MessageServiceCustom, MessageDefines } from '../message.service'; |
| import { UserService } from '../user.service'; |
| import { SessionContext } from '../../common/session-context'; |
| import { BaseDataService } from '../base-data.service'; |
| import { RoleAccessService } from '../role-access.service'; |
| import { RoleAccessHelperService } from './role-access-helper.service'; |
| import { BackendSettingsService } from '../backend-settings.service'; |
| |
| |
| @Injectable() |
| export class BaseDataLoaderService { |
| |
| constructor( |
| private baseDataService: BaseDataService, |
| private userService: UserService, |
| private msgService: MessageServiceCustom, |
| private sessionContext: SessionContext, |
| private roleAccessService: RoleAccessService, |
| private roleAccessHelper: RoleAccessHelperService, |
| private backendSettingsService: BackendSettingsService |
| ) { |
| this.msgService.loginLogoff$.subscribe(msg => this.onLoginLogoff(msg)); |
| } |
| |
| onLoginLogoff(msg: string): void { |
| this.sessionContext.initBannerMessage(); |
| if (msg === MessageDefines.MSG_LOG_IN_SUCCEEDED) { |
| this.sessionContext.setUserAuthenticated(true); |
| this.loadBaseData(); |
| } |
| |
| if (msg === MessageDefines.MSG_LOG_OFF) { |
| this.sessionContext.setUserAuthenticated(false); |
| this.sessionContext.clearStorage(); |
| } |
| |
| } |
| |
| loadBaseData() { |
| // load base data (stammdaten) here! |
| this.baseDataService.getCostCenters() |
| .subscribe(center => this.sessionContext.setCostCenters(center), |
| error => { |
| console.log(error); |
| }); |
| |
| this.baseDataService.getNetworkControlsFromSingleGridmeasures() |
| .subscribe(res => this.sessionContext.setNetworkControlsFromSingleGridmeasures(res), |
| error => { |
| console.log(error); |
| }); |
| |
| this.baseDataService.getResponsiblesOnSiteFromGridmeasures() |
| .subscribe(res => this.sessionContext.setResponsiblesOnSiteFromGridmeasures(res), |
| error => { |
| console.log(error); |
| }); |
| |
| this.baseDataService.getBranches() |
| .subscribe(branch => this.sessionContext.setBranches(branch), |
| error => { |
| console.log(error); |
| }); |
| |
| this.baseDataService.getStatuses() |
| .subscribe(status => this.sessionContext.setStatuses(status), |
| error => { |
| console.log(error); |
| }); |
| |
| this.userService.getUsers() |
| .subscribe(users => { |
| this.sessionContext.setAllUsers(users); |
| }, |
| error => { |
| console.log(error); |
| }); |
| |
| this.loadRoleAccessdefinitions(); |
| |
| this.baseDataService.getUserDepartments() |
| .subscribe(departments => this.sessionContext.setAllUserDepartments(departments), |
| error => { |
| console.log(error); |
| }); |
| |
| this.baseDataService.getEmailAddressesFromTemplates() |
| .subscribe(emails => this.sessionContext.setEmailAddressesFromTemplates(emails), |
| error => { |
| console.log(error); |
| }); |
| |
| this.backendSettingsService.getBackendSettings() |
| .subscribe(settings => this.sessionContext.setBackendsettings(settings), |
| error => { |
| console.log(error); |
| }); |
| |
| this.baseDataService.getTerritories() |
| .subscribe(ter => this.sessionContext.setTerritories(ter), |
| error => { |
| console.log(error); |
| }); |
| } |
| |
| loadRoleAccessdefinitions(): void { |
| this.roleAccessService.getRoleAccessDefinition().subscribe( |
| res => this.roleAccessHelper.init(res), |
| error => { |
| console.log(error); |
| }); |
| } |
| |
| } |