diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 2d66c0e..1329634 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,8 +1,10 @@ import { Component, OnInit } from '@angular/core'; -import { CollaborateurConnecte } from '@shared/globales/collaborateur-connecte' import { CollaborateursService } from '@shared/api-swagger/api/api' import { AuthService } from '@shared/auth/auth.service'; import { Subscription } from 'rxjs'; + +import { cles } from "@shared/utils/cles" + @Component({ selector: 'app-root', templateUrl: './app.component.html', @@ -15,15 +17,17 @@ export class AppComponent implements OnInit { subscriber: Subscription; - constructor(private collaborateurConnecte:CollaborateurConnecte, private collaborateursService: CollaborateursService, + constructor(private collaborateursService: CollaborateursService, private authService: AuthService ) { } ngOnInit(): void { - this.subscriber = this.collaborateursService.getCollaborateurByMail(this.authService.mail).subscribe( - collaborateur => this.collaborateurConnecte.collaborateur = collaborateur - ); + if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined) { + this.subscriber = this.collaborateursService.getCollaborateurByMail(this.authService.mail).subscribe( + collaborateur => sessionStorage.setItem(cles.sessionKeyConnectee, JSON.stringify(collaborateur)) + ); + } } ngOnDestroy(): void { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 41f2951..2e3c6b5 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -16,8 +16,6 @@ import { ApiModule } from '@shared/api-swagger' import { HomeModule } from './home'; import { CollaborateursModule } from './collaborateurs'; -import { CollaborateurConnecte } from "@shared/globales/collaborateur-connecte"; - import { ReferentsModule } from './referents'; import { FormationsModule } from './formations'; import { DemandesFormationModule } from './demandes-formation'; @@ -42,7 +40,7 @@ import { AuthModule } from '@shared/auth/auth.module'; EpSaisieModule, EpModule ], - providers: [CollaborateurConnecte], + providers: [], bootstrap: [AppComponent] }) diff --git a/src/app/collaborateurs/collaborateurs.component.ts b/src/app/collaborateurs/collaborateurs.component.ts index b54bba2..aaea809 100644 --- a/src/app/collaborateurs/collaborateurs.component.ts +++ b/src/app/collaborateurs/collaborateurs.component.ts @@ -7,7 +7,8 @@ import {MatTableDataSource} from '@angular/material/table'; import { BusinessUnitDTO, CollaborateurDTO } from '@shared/api-swagger/model/models' import { CollaborateursService } from "@shared/api-swagger/api/api"; -import { CollaborateurConnecte } from "@shared/globales/collaborateur-connecte" +import { cles } from "@shared/utils/cles"; + /** * Composant qui sert à l'affichage de la liste des collaborateurs en fonction de l'agence de son utilitateur. @@ -103,7 +104,7 @@ export class CollaborateursComponent implements OnInit { */ dateFin: Date = undefined; - constructor(private service: CollaborateursService, private collaborateurConnecte: CollaborateurConnecte) {} + constructor(private service: CollaborateursService) {} ngOnInit() { this.setBUsId(); @@ -199,11 +200,12 @@ export class CollaborateursComponent implements OnInit { * création de la liste des business unit du collaborateur connecté pour afficher les checkboxes */ setBUsId() { - if(this.collaborateurConnecte.collaborateur == undefined) { + if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined){ setTimeout( () => this.setBUsId(), 1000); } else { - this.bus = this.collaborateurConnecte.collaborateur.businessUnit.agence.bu; + const connecte = JSON.parse(sessionStorage.getItem(cles.sessionKeyConnectee)); + this.bus = connecte.businessUnit.agence.bu; for(let bu of this.bus) { this.busIds.push(bu.id); } diff --git a/src/app/referents/referents.component.ts b/src/app/referents/referents.component.ts index d468a28..8d00549 100644 --- a/src/app/referents/referents.component.ts +++ b/src/app/referents/referents.component.ts @@ -3,13 +3,13 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { Subscription } from 'rxjs'; import {MatTableDataSource} from '@angular/material/table'; -import {MatPaginator} from '@angular/material/paginator'; -import {MatSort} from '@angular/material/sort'; import { CollaborateursService } from "@shared/api-swagger/api/api"; import { BusinessUnitDTO, CollaborateurDTO } from "@shared/api-swagger/model/models"; -import { CollaborateurConnecte } from "@shared/globales/collaborateur-connecte" + +import { cles } from "@shared/utils/cles"; + /** */ @@ -96,7 +96,7 @@ export class ReferentsComponent implements OnInit { */ chargement = true; - constructor(private service: CollaborateursService, private collaborateurConnecte: CollaborateurConnecte) {} + constructor(private service: CollaborateursService) {} ngOnInit() { this.setBUsId(); @@ -162,11 +162,12 @@ export class ReferentsComponent implements OnInit { * création de la liste des business unit du collaborateur connecté pour afficher les checkboxes */ setBUsId() { - if(this.collaborateurConnecte.collaborateur == undefined) { + if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined){ setTimeout( () => this.setBUsId(), 1000); } else { - this.bus = this.collaborateurConnecte.collaborateur.businessUnit.agence.bu; + const connecte = JSON.parse(sessionStorage.getItem(cles.sessionKeyConnectee)); + this.bus = connecte.businessUnit.agence.bu; for(let bu of this.bus) { this.busIds.push(bu.id); } diff --git a/src/app/shared/globales/collaborateur-connecte.ts b/src/app/shared/globales/collaborateur-connecte.ts deleted file mode 100644 index 1c86448..0000000 --- a/src/app/shared/globales/collaborateur-connecte.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Injectable } from "@angular/core"; -import { CollaborateurDTO } from "@shared/api-swagger/model/models"; - -@Injectable() -export class CollaborateurConnecte { - collaborateur: CollaborateurDTO -} \ No newline at end of file diff --git a/src/app/shared/utils/cles.ts b/src/app/shared/utils/cles.ts new file mode 100644 index 0000000..49e19f5 --- /dev/null +++ b/src/app/shared/utils/cles.ts @@ -0,0 +1,3 @@ +export const cles = { + sessionKeyConnectee : "collaborateurConnecte", +} \ No newline at end of file