Suppression du fichier global pour conserver le collaborateur connecte par un sessionstorage

develop
Yanaël GRETTE 4 years ago
parent 8d91f16b86
commit 6049ad5431
  1. 14
      src/app/app.component.ts
  2. 4
      src/app/app.module.ts
  3. 10
      src/app/collaborateurs/collaborateurs.component.ts
  4. 13
      src/app/referents/referents.component.ts
  5. 7
      src/app/shared/globales/collaborateur-connecte.ts
  6. 3
      src/app/shared/utils/cles.ts

@ -1,8 +1,10 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { CollaborateurConnecte } from '@shared/globales/collaborateur-connecte'
import { CollaborateursService } from '@shared/api-swagger/api/api' import { CollaborateursService } from '@shared/api-swagger/api/api'
import { AuthService } from '@shared/auth/auth.service'; import { AuthService } from '@shared/auth/auth.service';
import { Subscription } from 'rxjs'; import { Subscription } from 'rxjs';
import { cles } from "@shared/utils/cles"
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
templateUrl: './app.component.html', templateUrl: './app.component.html',
@ -15,15 +17,17 @@ export class AppComponent implements OnInit {
subscriber: Subscription; subscriber: Subscription;
constructor(private collaborateurConnecte:CollaborateurConnecte, private collaborateursService: CollaborateursService, constructor(private collaborateursService: CollaborateursService,
private authService: AuthService ) { private authService: AuthService ) {
} }
ngOnInit(): void { ngOnInit(): void {
this.subscriber = this.collaborateursService.getCollaborateurByMail(this.authService.mail).subscribe( if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined) {
collaborateur => this.collaborateurConnecte.collaborateur = collaborateur this.subscriber = this.collaborateursService.getCollaborateurByMail(this.authService.mail).subscribe(
); collaborateur => sessionStorage.setItem(cles.sessionKeyConnectee, JSON.stringify(collaborateur))
);
}
} }
ngOnDestroy(): void { ngOnDestroy(): void {

@ -16,8 +16,6 @@ import { ApiModule } from '@shared/api-swagger'
import { HomeModule } from './home'; import { HomeModule } from './home';
import { CollaborateursModule } from './collaborateurs'; import { CollaborateursModule } from './collaborateurs';
import { CollaborateurConnecte } from "@shared/globales/collaborateur-connecte";
import { ReferentsModule } from './referents'; import { ReferentsModule } from './referents';
import { FormationsModule } from './formations'; import { FormationsModule } from './formations';
import { DemandesFormationModule } from './demandes-formation'; import { DemandesFormationModule } from './demandes-formation';
@ -42,7 +40,7 @@ import { AuthModule } from '@shared/auth/auth.module';
EpSaisieModule, EpModule EpSaisieModule, EpModule
], ],
providers: [CollaborateurConnecte], providers: [],
bootstrap: [AppComponent] bootstrap: [AppComponent]
}) })

@ -7,7 +7,8 @@ import {MatTableDataSource} from '@angular/material/table';
import { BusinessUnitDTO, CollaborateurDTO } from '@shared/api-swagger/model/models' import { BusinessUnitDTO, CollaborateurDTO } from '@shared/api-swagger/model/models'
import { CollaborateursService } from "@shared/api-swagger/api/api"; 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. * 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; dateFin: Date = undefined;
constructor(private service: CollaborateursService, private collaborateurConnecte: CollaborateurConnecte) {} constructor(private service: CollaborateursService) {}
ngOnInit() { ngOnInit() {
this.setBUsId(); 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 * création de la liste des business unit du collaborateur connecté pour afficher les checkboxes
*/ */
setBUsId() { setBUsId() {
if(this.collaborateurConnecte.collaborateur == undefined) { if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined){
setTimeout( () => this.setBUsId(), 1000); setTimeout( () => this.setBUsId(), 1000);
} }
else { 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) { for(let bu of this.bus) {
this.busIds.push(bu.id); this.busIds.push(bu.id);
} }

@ -3,13 +3,13 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { Subscription } from 'rxjs'; import { Subscription } from 'rxjs';
import {MatTableDataSource} from '@angular/material/table'; 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 { CollaborateursService } from "@shared/api-swagger/api/api";
import { BusinessUnitDTO, CollaborateurDTO } from "@shared/api-swagger/model/models"; 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; chargement = true;
constructor(private service: CollaborateursService, private collaborateurConnecte: CollaborateurConnecte) {} constructor(private service: CollaborateursService) {}
ngOnInit() { ngOnInit() {
this.setBUsId(); 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 * création de la liste des business unit du collaborateur connecté pour afficher les checkboxes
*/ */
setBUsId() { setBUsId() {
if(this.collaborateurConnecte.collaborateur == undefined) { if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined){
setTimeout( () => this.setBUsId(), 1000); setTimeout( () => this.setBUsId(), 1000);
} }
else { 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) { for(let bu of this.bus) {
this.busIds.push(bu.id); this.busIds.push(bu.id);
} }

@ -1,7 +0,0 @@
import { Injectable } from "@angular/core";
import { CollaborateurDTO } from "@shared/api-swagger/model/models";
@Injectable()
export class CollaborateurConnecte {
collaborateur: CollaborateurDTO
}

@ -0,0 +1,3 @@
export const cles = {
sessionKeyConnectee : "collaborateurConnecte",
}
Loading…
Cancel
Save