From ffbac86dfc7d744e8c3c93491f2b550083cff250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yana=C3=ABl=20GRETTE?= Date: Mon, 21 Sep 2020 12:00:22 +0200 Subject: [PATCH] Ajout des commentaires manquants --- src/app/app-routing.module.ts | 13 +++ src/app/app.module.ts | 1 + .../collaborateurs.component.html | 2 + .../collaborateurs.component.ts | 45 +++++++-- .../collaborateurs/collaborateurs.module.ts | 4 +- .../collaborateurs.routing.module.ts | 4 +- .../details-collaborateur.component.html | 2 + .../details-collaborateur.component.ts | 63 ++++++++++-- .../evaluation.component.ts | 3 +- .../edit-evaluation.component.ts | 3 +- .../formations-collaborateur.component.ts | 3 +- .../demandes-delegation.routing.module.ts | 3 + .../demandes-formation.component.ts | 4 +- .../demandes-formation.module.ts | 3 + .../demandes-formation.routing.module.ts | 3 + .../demande-formation.component.ts | 4 +- .../new-demande-formation.component.ts | 3 +- src/app/ep-saisie/ep-saisie.component.ts | 3 +- src/app/ep-saisie/ep-saisie.module.ts | 3 + src/app/ep-saisie/ep-saisie.routing.module.ts | 9 +- .../epa-saisie/epa-saisie.component.ts | 3 +- .../epa-six-ans-saisie.component.ts | 3 +- .../eps-saisie/eps-saisie.component.ts | 3 +- .../ep-augmentation-salaire.component.ts | 3 +- .../ep-choix-date/ep-choix-date.component.ts | 3 +- .../ep-commentaire-assistant.component.ts | 3 +- .../ep-commentaire-referent.component.ts | 3 +- .../ep-consultation.component.ts | 3 +- .../ep-demande-delegation.component.ts | 3 +- .../ep-demandes-formation.component.ts | 3 +- .../ep-participants.component.ts | 3 +- .../new-participant.component.ts | 4 +- .../ep-propositions-dates.component.ts | 3 +- .../ep/ep-signature/ep-signature.component.ts | 3 +- src/app/ep/ep.component.ts | 3 +- src/app/ep/ep.module.ts | 4 +- src/app/ep/ep.routing.module.ts | 4 +- .../ep/epa-six-ans/epa-six-ans.component.ts | 3 +- src/app/ep/epa/epa.component.ts | 3 +- src/app/ep/eps/eps.component.ts | 3 +- .../formation.component.html | 9 +- .../details-formation/formation.component.ts | 30 +++++- .../edit-formation.component.html | 12 +++ .../edit-formation.component.ts | 99 ++++++++++--------- src/app/formations/formations.component.html | 2 + src/app/formations/formations.component.ts | 15 +++ src/app/formations/formations.module.ts | 3 + .../formations/formations.routing.module.ts | 4 +- .../new-formation.component.html | 15 ++- .../new-formation/new-formation.component.ts | 50 +++++++++- .../home-assistante.component.html | 6 +- .../home-assistante.component.ts | 39 +++++++- src/app/home/home-rh/home-rh.component.html | 2 + src/app/home/home-rh/home-rh.component.ts | 35 +++++-- src/app/home/home.component.ts | 1 + src/app/home/home.module.ts | 4 + src/app/referents/referents.component.html | 2 + src/app/referents/referents.component.ts | 38 ++++++- src/app/referents/referents.routing.module.ts | 9 +- .../angular-material.module.ts | 2 +- src/app/shared/api-swagger/api.module.ts | 4 + .../nav-menu-assistante.component.ts | 1 - .../nav-menu-collaborateur.component.ts | 2 - .../nav-menu-commercial.component.ts | 1 - .../nav-menu-rh/nav-menu-rh.component.ts | 1 - src/app/shared/nav-menu/nav-menu.module.ts | 3 + src/app/shared/utils/paths.ts | 26 ++++- src/app/shared/utils/typeenums.ts | 4 +- 68 files changed, 522 insertions(+), 138 deletions(-) diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 69a29c0..fdbafe1 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -10,42 +10,55 @@ import { KeycloakGuard } from '@shared/guards/keycloakguard'; import { paths_collaborateurs, paths_demandes_delegation, paths_demandes_formation, paths_ep, paths_saisie_ep, paths_formation, paths_home, paths_referents } from '@shared/utils/paths'; + +/** + * L'ensemble des routes du client Angular + */ const routes: Routes = [ + //Redirection vers le home pour "/" { path: '', redirectTo: paths_home.path, pathMatch: 'full' }, + //Chemin du home { path: paths_home.path, component: HomeComponent, canActivate: [KeycloakGuard], pathMatch: 'full' }, + //chargement des chemins du module collaborateur à partir du routing de ce module { path: paths_collaborateurs.path, loadChildren: () => import('./collaborateurs/collaborateurs.module').then(m=> m.CollaborateursModule) }, + //chargement des chemins du module demandes délégation à partir du routing de ce module { path: paths_demandes_delegation.path, loadChildren: () => import('./demandes-delegation/demandes-delegation.module').then(m=> m.DemandesDelegationModule) }, + //chargement des chemins du module demandes de formation à partir du routing de ce module { path: paths_demandes_formation.path, loadChildren: () => import('./demandes-formation/demandes-formation.module').then(m=> m.DemandesFormationModule) }, + //chargement des chemins du module ep à partir du routing de ce module { path: paths_ep.path, loadChildren: () => import('./ep/ep.module').then(m=> m.EpModule) }, + //chargement des chemins du module saisie ep à partir du routing de ce module { path: paths_saisie_ep.path, loadChildren: () => import('./ep-saisie/ep-saisie.module').then(m=> m.EpSaisieModule) }, + //chargement des chemins du module formation à partir du routing de ce module { path: paths_formation.path, loadChildren: () => import('./formations/formations.module').then(m=> m.FormationsModule) }, + //chargement des chemins du module référent à partir du routing de ce module { path: paths_referents.path, loadChildren: () => import('./referents/referents.module').then(m=> m.ReferentsModule) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 7be2bed..5449ae7 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -57,6 +57,7 @@ let keycloakService: KeycloakService = new KeycloakService(); }) export class AppModule implements DoBootstrap { + //Configuration de la connexion avec Keycloak async ngDoBootstrap(app) { const { keycloakConfig } = environment; diff --git a/src/app/collaborateurs/collaborateurs.component.html b/src/app/collaborateurs/collaborateurs.component.html index dc9babb..036f0be 100644 --- a/src/app/collaborateurs/collaborateurs.component.html +++ b/src/app/collaborateurs/collaborateurs.component.html @@ -1,6 +1,7 @@

Liste des collaborateurs

+ Agence @@ -9,6 +10,7 @@ Collabotareur + {{row.prenom}} {{row.nom}} diff --git a/src/app/collaborateurs/collaborateurs.component.ts b/src/app/collaborateurs/collaborateurs.component.ts index 79fb4ac..c7dc582 100644 --- a/src/app/collaborateurs/collaborateurs.component.ts +++ b/src/app/collaborateurs/collaborateurs.component.ts @@ -13,7 +13,7 @@ import { CollaborateursService } from "@shared/api-swagger/api/api"; /** * Composant qui sert à l'affichage de la liste des collaborateurs en fonction de l'agence de son utilitateur. * Seuls les commerciaux, RH et assistantes pourront accéder à la liste des collaborateurs. - * Les données affichées : Agence-Nom Prénom-Date Embauche-Responsable Commercial-Date Prochain EP + * Les données affichées : Agence-Nom Prénom-Date Embauche-Responsable Commercial-Date Prochain EP. */ @Component({ selector: 'app-collaborateurs', @@ -21,22 +21,45 @@ import { CollaborateursService } from "@shared/api-swagger/api/api"; }) export class CollaborateursComponent implements OnInit { + /** + * Ordre de tri à envoyer au serveur (true : croissant, false : décroissantà). + */ asc = true; + /** + * Numéro de la page à afficher dans le tableau. + */ numPage = 1; + /** + * Nombre d'élément du tableau à affiche en une page. + */ parPage = 5; + /** + * Rôle des collaborateurs à récupérer via le service collaborateur, ici nous ne voulons que les collaborateurs (pour le moment...). + */ roles : string[] = ["collaborateur"]; - + /** + * Observable pour faire des requêtes sur le service collaborateur. + */ private collaborateursDisponiblesSubscription : Subscription; - + /** + * Liste des colonnes du tableau à afficher. + */ displayedColumns : string[] = ["agence", "collaborateur", "dateembauche", "referent"]; + /** + * C'est dans cet objet que seront stockés les collaborateurs à afficher dans le Mat Table côté template. + */ dataSource : MatTableDataSource; /** - * contenu de la recherche. + * contenu de la recherche pour trouver un collaborateur. */ search = ""; + /** + * Permet de savoir sur quelle attribut d'un CollaborateurDTO doit être trié le tableau. + */ tri = ""; + /** * Pagination du tableau. */ @@ -48,7 +71,7 @@ export class CollaborateursComponent implements OnInit { @ViewChild(MatSort) sort: MatSort; /** - * Spécifie si la liste des EP est en cours de chargement et d'écriture dans le tableau. + * Spécifie si la liste des collaborateurs est en cours de chargement dans le tableau. */ chargement = true; constructor(private service: CollaborateursService) {} @@ -58,7 +81,12 @@ export class CollaborateursComponent implements OnInit { } + /** + * Mettre à jour les informations à afficher dans la tableau. + * Devra se faire à l'ouverture de la page, au changement de page ou du nombre d'éléments à afficher, au moment d'un tri ou encore lors de l'utilisation de la barre de recherche. + */ updateDataSource() { + //récupérer la liste des collaborateur et mettre à jour le tableau this.collaborateursDisponiblesSubscription = this.service.getCollaborateurs(this.asc, this.numPage, this.parPage, this.roles, 1, undefined, this.search, this.tri).subscribe( collaborateurs => this.dataSource = new MatTableDataSource(collaborateurs), err => console.log(err) @@ -67,11 +95,16 @@ export class CollaborateursComponent implements OnInit { //this.dataSource.sort = this.sort; } - + /** + * Fonction qui calculait le nombre d'année qu'un collaborateur a passé chez Apside (calculer entre la date d'aujourd'hui et la date d'arrivée du collaborateur). + */ setAnciennete(firstDate, secondDate) { return Math.abs(firstDate-secondDate); } + /** + * Une fois la page fermée, il est nécessaire de se désabonner des Oberservable afin d'éviter les fuites mémoires. + */ ngOnDestroy() { if(this.collaborateursDisponiblesSubscription != undefined) { this.collaborateursDisponiblesSubscription.unsubscribe(); diff --git a/src/app/collaborateurs/collaborateurs.module.ts b/src/app/collaborateurs/collaborateurs.module.ts index 4032bad..d6e0279 100644 --- a/src/app/collaborateurs/collaborateurs.module.ts +++ b/src/app/collaborateurs/collaborateurs.module.ts @@ -16,7 +16,9 @@ import { FormationsCollaboateurComponent } from "./formations-collaborateur/form import { CollaborateursRoutingModule } from "./collaborateurs.routing.module"; - +/** + * Module collaborateur. + */ @NgModule({ declarations: [ CollaborateursComponent, DetailsCollaborateurComponent, diff --git a/src/app/collaborateurs/collaborateurs.routing.module.ts b/src/app/collaborateurs/collaborateurs.routing.module.ts index 107615d..6b99fdb 100644 --- a/src/app/collaborateurs/collaborateurs.routing.module.ts +++ b/src/app/collaborateurs/collaborateurs.routing.module.ts @@ -11,7 +11,9 @@ import { paths_collaborateurs } from '@shared/utils/paths'; import { KeycloakGuard } from '@shared/guards/keycloakguard'; - +/** + * Routes du module collaborateur + */ const routes: Routes = [ { path:'', component: CollaborateursComponent, pathMatch: 'full', canActivate: [KeycloakGuard] }, { path:paths_collaborateurs.formations, component: FormationsCollaboateurComponent, canActivate: [KeycloakGuard] }, diff --git a/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.html b/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.html index 24d784d..8096815 100644 --- a/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.html +++ b/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.html @@ -14,6 +14,7 @@ +

Liste des précédents EP

@@ -33,6 +34,7 @@ + Voir détails EP diff --git a/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.ts b/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.ts index e934bff..b550eeb 100644 --- a/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.ts +++ b/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.ts @@ -12,26 +12,68 @@ import { CollaborateursService, EpService } from "@shared/api-swagger/api/api"; import { EpInformationDTO, CollaborateurDTO } from "@shared/api-swagger/model/models"; /** - */ + * Composant pour gérer l'affichage des détails d'un collaborateur et de ses EP + */ @Component({ selector: 'app-details-collaborateur', templateUrl: './details-collaborateur.component.html' }) export class DetailsCollaborateurComponent implements OnInit { + /** + * Ordre de tri à envoyer au serveur (true : croissant, false : décroissantà). + */ asc = true; + /** + * Numéro de la page à afficher dans le tableau. + */ numPage = 1; + /** + * Nombre d'élément du tableau à affiche en une page. + */ parPage = 5; + /** + * contenu de la recherche pour trouver un référent. + */ search = ""; + /** + * Permet de savoir sur quelle attribut d'un CollaborateurDTO doit être trié le tableau. + */ tri = ""; + /** + * Nombre d'EP effectué permettant de savoir si il faut faire afficher le tableau ou non + */ nbEP = 0; + + /** + * Collaborateur dont on affiche les détails + */ collaborateur: CollaborateurDTO; + /** + * Observable pour récupérer le collaborateur + */ private collaborateurSubscription : Subscription; + /** + * Observable pour récupérer la liste des EP du collaborateur + */ private epSubscription : Subscription; + /** + * Les colonnes à afficher dans le tableau. + */ displayedColumns: string[] = ["dateentretien", "referent", "type", "details"]; + + /** + * dataSource dans lequel sera stockée les informations à faire afficher dans le Mat Table + */ dataSource : MatTableDataSource; + /** + * Variable qui permet de vérifier que le chargement des EP a bien été fait + */ eploaded = false; + /** + * id du collaborateur à récupérer dans l'URL + */ idCollaborateur: any; /** @@ -47,20 +89,22 @@ export class DetailsCollaborateurComponent implements OnInit { constructor(private collaborateusrService:CollaborateursService, private epService:EpService, private route: ActivatedRoute) {} ngOnInit() { + //récupérer l'id du collaborateur dans les paramètres de l'URL this.idCollaborateur = this.route.snapshot.paramMap.get('id'); this.collaborateurSubscription = this.collaborateusrService.getCollaborateurById(this.idCollaborateur).subscribe( - collaborateur => this.initCollaborateur(collaborateur[0]), + collaborateur => { + this.collaborateur = collaborateur[0]; + this.updateEP(); + }, err => console.log(err) ); } - initCollaborateur(collaborateur:CollaborateurDTO) { - this.collaborateur = collaborateur; - this.updateEP() - } - + /** + * Mise à jour du tableau des EP lors d'un changement de page du tableau, du nombre d'élément à afficher ou d'un tri. + * La fonction est aussi appelé au début du chargement et à l'utilisation de la barre de recherche. + */ updateEP() { - console.log(this.idCollaborateur); this.epSubscription = this.epService.getEPByCollaborateur(this.asc, this.idCollaborateur, this.numPage, this.parPage, undefined, this.search, this.tri).subscribe( ep => { @@ -74,6 +118,9 @@ export class DetailsCollaborateurComponent implements OnInit { //this.dataSource.sort = this.sort; } + /** + * Une fois la page fermée, il est nécessaire de se désabonner des Oberservable afin d'éviter les fuites mémoires. + */ ngOnDestroy() { if(this.epSubscription!= undefined) { this.epSubscription.unsubscribe(); diff --git a/src/app/collaborateurs/formations-collaborateur/details-evaluation/evaluation.component.ts b/src/app/collaborateurs/formations-collaborateur/details-evaluation/evaluation.component.ts index 5f11c72..ed78d58 100644 --- a/src/app/collaborateurs/formations-collaborateur/details-evaluation/evaluation.component.ts +++ b/src/app/collaborateurs/formations-collaborateur/details-evaluation/evaluation.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour faire affhcier l'évaluation d'une formation d'un collaborateur. + */ @Component({ selector: 'app-evaluation ', templateUrl: './evaluation.component.html' diff --git a/src/app/collaborateurs/formations-collaborateur/edit-evaluation/edit-evaluation.component.ts b/src/app/collaborateurs/formations-collaborateur/edit-evaluation/edit-evaluation.component.ts index 2869bba..ed245c6 100644 --- a/src/app/collaborateurs/formations-collaborateur/edit-evaluation/edit-evaluation.component.ts +++ b/src/app/collaborateurs/formations-collaborateur/edit-evaluation/edit-evaluation.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour permettre à un collaborateur de faire l'évaluation d'une formation + */ @Component({ selector: 'app-edit-evaluation', templateUrl: './edit-evaluation.component.html' diff --git a/src/app/collaborateurs/formations-collaborateur/formations-collaborateur.component.ts b/src/app/collaborateurs/formations-collaborateur/formations-collaborateur.component.ts index 97576be..9489954 100644 --- a/src/app/collaborateurs/formations-collaborateur/formations-collaborateur.component.ts +++ b/src/app/collaborateurs/formations-collaborateur/formations-collaborateur.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour afficher la liste des formations auxquelles à participer le collaborateur. + */ @Component({ selector: 'app-formations-collaborateur', templateUrl: './formations-collaborateur.component.html' diff --git a/src/app/demandes-delegation/demandes-delegation.routing.module.ts b/src/app/demandes-delegation/demandes-delegation.routing.module.ts index dcc47a8..5a0b7ae 100644 --- a/src/app/demandes-delegation/demandes-delegation.routing.module.ts +++ b/src/app/demandes-delegation/demandes-delegation.routing.module.ts @@ -9,6 +9,9 @@ import { KeycloakGuard } from '@shared/guards/keycloakguard'; import { paths_demandes_delegation } from "@shared/utils/paths"; +/** + * Routes du module demandes delegation + */ const routes: Routes = [ { path:'', diff --git a/src/app/demandes-formation/demandes-formation.component.ts b/src/app/demandes-formation/demandes-formation.component.ts index e3a8f10..336d248 100644 --- a/src/app/demandes-formation/demandes-formation.component.ts +++ b/src/app/demandes-formation/demandes-formation.component.ts @@ -1,7 +1,9 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour faire afficher la liste des demandes de formations + * Les RH pourront valider ou refuser les demandes + */ @Component({ selector: 'app-demandes-formation', templateUrl: './demandes-formation.component.html' diff --git a/src/app/demandes-formation/demandes-formation.module.ts b/src/app/demandes-formation/demandes-formation.module.ts index 132244c..838506f 100644 --- a/src/app/demandes-formation/demandes-formation.module.ts +++ b/src/app/demandes-formation/demandes-formation.module.ts @@ -15,6 +15,9 @@ import { DemandeFormationComponent } from './details-demande-formation/demande-f import { NewDemandeFormationComponent } from './new-demande-formation/new-demande-formation.component' import { DemandesFormationsRoutingModule } from './demandes-formation.routing.module'; +/** + * Module demandes formation + */ @NgModule({ declarations: [ DemandesFormationComponent, DemandeFormationComponent, NewDemandeFormationComponent diff --git a/src/app/demandes-formation/demandes-formation.routing.module.ts b/src/app/demandes-formation/demandes-formation.routing.module.ts index 6bcc84a..162dca1 100644 --- a/src/app/demandes-formation/demandes-formation.routing.module.ts +++ b/src/app/demandes-formation/demandes-formation.routing.module.ts @@ -10,6 +10,9 @@ import { KeycloakGuard } from '@shared/guards/keycloakguard'; import { paths_demandes_formation } from "@shared/utils/paths"; +/** + * Routes du module demandes formation + */ const routes: Routes = [ { path:'', component: DemandesFormationComponent, pathMatch: 'full', canActivate: [KeycloakGuard] }, { path:paths_demandes_formation.new, component: NewDemandeFormationComponent, canActivate: [KeycloakGuard] }, diff --git a/src/app/demandes-formation/details-demande-formation/demande-formation.component.ts b/src/app/demandes-formation/details-demande-formation/demande-formation.component.ts index 0b3b757..bd5d37d 100644 --- a/src/app/demandes-formation/details-demande-formation/demande-formation.component.ts +++ b/src/app/demandes-formation/details-demande-formation/demande-formation.component.ts @@ -1,7 +1,9 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour afficher les détails d'une demandes de formation + * (peut ne pas être utile) + */ @Component({ selector: 'app-demande-formation', templateUrl: './demande-formation.component.html' diff --git a/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.ts b/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.ts index ffd13c1..ad4488c 100644 --- a/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.ts +++ b/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant qui sert à créer une demande de formation pour un collaborateur. + */ @Component({ selector: 'app-new-demande-formation', templateUrl: './new-demande-formation.component.html' diff --git a/src/app/ep-saisie/ep-saisie.component.ts b/src/app/ep-saisie/ep-saisie.component.ts index a87b0f1..52e2b01 100644 --- a/src/app/ep-saisie/ep-saisie.component.ts +++ b/src/app/ep-saisie/ep-saisie.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant permettant la saisie d'un EP + */ @Component({ selector: 'app-ep-saisie', templateUrl: './ep-saisie.component.html' diff --git a/src/app/ep-saisie/ep-saisie.module.ts b/src/app/ep-saisie/ep-saisie.module.ts index a51e349..9fb65b7 100644 --- a/src/app/ep-saisie/ep-saisie.module.ts +++ b/src/app/ep-saisie/ep-saisie.module.ts @@ -14,6 +14,9 @@ import { EpaSixAnsSaisieComponent } from './epa-six-ans-saisie/epa-six-ans-saisi import { EpSaisieRoutingModule } from './ep-saisie.routing.module'; +/** + * Module de la saisie de l'EP + */ @NgModule({ declarations: [EpSaisieComponent, EpsSaisieComponent, EpaSaisieComponent, EpaSixAnsSaisieComponent diff --git a/src/app/ep-saisie/ep-saisie.routing.module.ts b/src/app/ep-saisie/ep-saisie.routing.module.ts index d2fa332..6842c1d 100644 --- a/src/app/ep-saisie/ep-saisie.routing.module.ts +++ b/src/app/ep-saisie/ep-saisie.routing.module.ts @@ -11,6 +11,9 @@ import { KeycloakGuard } from '@shared/guards/keycloakguard'; import { paths_saisie_ep } from "@shared/utils/paths"; +/** + * Routes du module saisie ep + */ const routes: Routes = [ { path:'', component: EpSaisieComponent, @@ -23,12 +26,6 @@ const routes: Routes = [ } ]; -/* -/saisie-ep -/saisie-ep/eps -/saisie-ep/epa -/saisie-ep/epasixans -*/ @NgModule({ imports: [RouterModule.forChild(routes)], diff --git a/src/app/ep-saisie/epa-saisie/epa-saisie.component.ts b/src/app/ep-saisie/epa-saisie/epa-saisie.component.ts index 5856ee8..6de3709 100644 --- a/src/app/ep-saisie/epa-saisie/epa-saisie.component.ts +++ b/src/app/ep-saisie/epa-saisie/epa-saisie.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour saisir le document EPA + */ @Component({ selector: 'app-epa-saisie', templateUrl: './epa-saisie.component.html' diff --git a/src/app/ep-saisie/epa-six-ans-saisie/epa-six-ans-saisie.component.ts b/src/app/ep-saisie/epa-six-ans-saisie/epa-six-ans-saisie.component.ts index 0b28adc..7906013 100644 --- a/src/app/ep-saisie/epa-six-ans-saisie/epa-six-ans-saisie.component.ts +++ b/src/app/ep-saisie/epa-six-ans-saisie/epa-six-ans-saisie.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour saisir le document EPA des six ans + */ @Component({ selector: 'app-epa-six-ans-saisie', templateUrl: './epa-six-ans-saisie.component.html' diff --git a/src/app/ep-saisie/eps-saisie/eps-saisie.component.ts b/src/app/ep-saisie/eps-saisie/eps-saisie.component.ts index 24b2358..6dd7167 100644 --- a/src/app/ep-saisie/eps-saisie/eps-saisie.component.ts +++ b/src/app/ep-saisie/eps-saisie/eps-saisie.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant permettant la saisie du document EPS + */ @Component({ selector: 'app-eps-saisie', templateUrl: './eps-saisie.component.html' diff --git a/src/app/ep/ep-augmentation-salaire/ep-augmentation-salaire.component.ts b/src/app/ep/ep-augmentation-salaire/ep-augmentation-salaire.component.ts index efaf931..418885c 100644 --- a/src/app/ep/ep-augmentation-salaire/ep-augmentation-salaire.component.ts +++ b/src/app/ep/ep-augmentation-salaire/ep-augmentation-salaire.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant permettant de faire la demande d'augmentation de salaire + */ @Component({ selector: 'app-ep-augmentation-salaire', templateUrl: './ep-augmentation-salaire.component.html' diff --git a/src/app/ep/ep-choix-date/ep-choix-date.component.ts b/src/app/ep/ep-choix-date/ep-choix-date.component.ts index b393ed5..196baf8 100644 --- a/src/app/ep/ep-choix-date/ep-choix-date.component.ts +++ b/src/app/ep/ep-choix-date/ep-choix-date.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant qui permet au collaborateur de faire un choix parmi les date proposées + */ @Component({ selector: 'app-ep-choix-date', templateUrl: './ep-choix-date.component.html' diff --git a/src/app/ep/ep-commentaire-assistant/ep-commentaire-assistant.component.ts b/src/app/ep/ep-commentaire-assistant/ep-commentaire-assistant.component.ts index 0036775..61fccc0 100644 --- a/src/app/ep/ep-commentaire-assistant/ep-commentaire-assistant.component.ts +++ b/src/app/ep/ep-commentaire-assistant/ep-commentaire-assistant.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour permettre au référent d'ajouter son commentaire et à tous les participants de le consulter + */ @Component({ selector: 'app-ep-commentaire-assistant', templateUrl: './ep-commentaire-assistant.component.html' diff --git a/src/app/ep/ep-commentaire-referent/ep-commentaire-referent.component.ts b/src/app/ep/ep-commentaire-referent/ep-commentaire-referent.component.ts index 1ca3e40..685c0d2 100644 --- a/src/app/ep/ep-commentaire-referent/ep-commentaire-referent.component.ts +++ b/src/app/ep/ep-commentaire-referent/ep-commentaire-referent.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour permettre au référent d'ajouter son commentaire et à tous les participants de le consulter + */ @Component({ selector: 'app-ep-commentaire-referent', templateUrl: './ep-commentaire-referent.component.html' diff --git a/src/app/ep/ep-consultation/ep-consultation.component.ts b/src/app/ep/ep-consultation/ep-consultation.component.ts index c948301..aacf117 100644 --- a/src/app/ep/ep-consultation/ep-consultation.component.ts +++ b/src/app/ep/ep-consultation/ep-consultation.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Ce composant sert peut-ête à rien... + */ @Component({ selector: 'app-ep-consultation', templateUrl: './ep-consultation.component.html' diff --git a/src/app/ep/ep-demande-delegation/ep-demande-delegation.component.ts b/src/app/ep/ep-demande-delegation/ep-demande-delegation.component.ts index a5cb6dd..ca26f67 100644 --- a/src/app/ep/ep-demande-delegation/ep-demande-delegation.component.ts +++ b/src/app/ep/ep-demande-delegation/ep-demande-delegation.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour faire une demande de délégation et voir la dernière en cours + */ @Component({ selector: 'app-ep-demande-delegation', templateUrl: './ep-demande-delegation.component.html' diff --git a/src/app/ep/ep-demandes-formation/ep-demandes-formation.component.ts b/src/app/ep/ep-demandes-formation/ep-demandes-formation.component.ts index 870dfca..bfbdba0 100644 --- a/src/app/ep/ep-demandes-formation/ep-demandes-formation.component.ts +++ b/src/app/ep/ep-demandes-formation/ep-demandes-formation.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour ajouter et voir les demandes de formation + */ @Component({ selector: 'app-ep-demandes-formation', templateUrl: './ep-demandes-formation.component.html' diff --git a/src/app/ep/ep-participants/ep-participants.component.ts b/src/app/ep/ep-participants/ep-participants.component.ts index 7c6e588..fbf6418 100644 --- a/src/app/ep/ep-participants/ep-participants.component.ts +++ b/src/app/ep/ep-participants/ep-participants.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour afficher la liste des participants de l'EP + */ @Component({ selector: 'app-ep-participants', templateUrl: './ep-participants.component.html' diff --git a/src/app/ep/ep-participants/new-participant/new-participant.component.ts b/src/app/ep/ep-participants/new-participant/new-participant.component.ts index 0696d40..e8232e3 100644 --- a/src/app/ep/ep-participants/new-participant/new-participant.component.ts +++ b/src/app/ep/ep-participants/new-participant/new-participant.component.ts @@ -1,7 +1,9 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant permettant l'ajout d'un participant à un EP + * Ce composant pourrait être remplacé par un dialog de material angular + */ @Component({ selector: 'app-new-participant', templateUrl: './new-participant.component.html' diff --git a/src/app/ep/ep-propositions-dates/ep-propositions-dates.component.ts b/src/app/ep/ep-propositions-dates/ep-propositions-dates.component.ts index 3be3831..4545df9 100644 --- a/src/app/ep/ep-propositions-dates/ep-propositions-dates.component.ts +++ b/src/app/ep/ep-propositions-dates/ep-propositions-dates.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant permettant au référent de proposer ses dates d'EP à partir des préférences de lieu d'entretien du collaborateur + */ @Component({ selector: 'app-ep-propositions-dates', templateUrl: './ep-propositions-dates.component.html' diff --git a/src/app/ep/ep-signature/ep-signature.component.ts b/src/app/ep/ep-signature/ep-signature.component.ts index fd4247a..937d008 100644 --- a/src/app/ep/ep-signature/ep-signature.component.ts +++ b/src/app/ep/ep-signature/ep-signature.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour vérifier que la signature des deux parties + */ @Component({ selector: 'app-ep-signature', templateUrl: './ep-signature.component.html' diff --git a/src/app/ep/ep.component.ts b/src/app/ep/ep.component.ts index 63482ac..0c7bac7 100644 --- a/src/app/ep/ep.component.ts +++ b/src/app/ep/ep.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant qui permet la consultation d'un EP + */ @Component({ selector: 'app-ep', templateUrl: './ep.component.html' diff --git a/src/app/ep/ep.module.ts b/src/app/ep/ep.module.ts index 3ab0edf..8340608 100644 --- a/src/app/ep/ep.module.ts +++ b/src/app/ep/ep.module.ts @@ -25,7 +25,9 @@ import { EpCommentaireReferentComponent } from "./ep-commentaire-referent/ep-com import { EpRoutingModule } from './ep.routing.module'; -/**/ +/** + * Module de l'ep + */ @NgModule({ declarations: [EpComponent, EpAugmentationSalaireComponent, EpChoixDateComponent, EpDemandeDelegationComponent, EpDemandesFormationComponent, EpParticipantsComponent, diff --git a/src/app/ep/ep.routing.module.ts b/src/app/ep/ep.routing.module.ts index 12890b1..ad3ceaa 100644 --- a/src/app/ep/ep.routing.module.ts +++ b/src/app/ep/ep.routing.module.ts @@ -21,7 +21,9 @@ import { NewParticipantComponent } from "./ep-participants/new-participant/new-p import { KeycloakGuard } from '@shared/guards/keycloakguard'; import { paths_ep } from "@shared/utils/paths"; - +/** + * Routes du module ep + */ const routes: Routes = [ { path:'', diff --git a/src/app/ep/epa-six-ans/epa-six-ans.component.ts b/src/app/ep/epa-six-ans/epa-six-ans.component.ts index e2ea827..7b7052d 100644 --- a/src/app/ep/epa-six-ans/epa-six-ans.component.ts +++ b/src/app/ep/epa-six-ans/epa-six-ans.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour faire afficher le document EPA des six ans + */ @Component({ selector: 'app-epa-six-ans', templateUrl: './epa-six-ans.component.html' diff --git a/src/app/ep/epa/epa.component.ts b/src/app/ep/epa/epa.component.ts index 95553a0..9cf45ca 100644 --- a/src/app/ep/epa/epa.component.ts +++ b/src/app/ep/epa/epa.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour faire afficher le document EPA + */ @Component({ selector: 'app-epa', templateUrl: './epa.component.html' diff --git a/src/app/ep/eps/eps.component.ts b/src/app/ep/eps/eps.component.ts index fab883e..670bd2b 100644 --- a/src/app/ep/eps/eps.component.ts +++ b/src/app/ep/eps/eps.component.ts @@ -1,7 +1,8 @@ import { Component, OnInit } from '@angular/core'; /** - */ + * Composant pour faire afficher le document EPS + */ @Component({ selector: 'app-eps', templateUrl: './eps.component.html' diff --git a/src/app/formations/details-formation/formation.component.html b/src/app/formations/details-formation/formation.component.html index 1e7c365..a11eb97 100644 --- a/src/app/formations/details-formation/formation.component.html +++ b/src/app/formations/details-formation/formation.component.html @@ -4,7 +4,6 @@

{{formation.intitule}}

Informations générales

-

Etat : {{formation.statut.libelle}}

Date formation : {{formation.dateDebut | date:'dd/MM/yyyy à hh:mm'}}

@@ -18,17 +17,15 @@

Aucun participant

+ +

Liste des participants

- - Collaborateur + {{row.collaborateur}} diff --git a/src/app/formations/details-formation/formation.component.ts b/src/app/formations/details-formation/formation.component.ts index 39cb621..392f009 100644 --- a/src/app/formations/details-formation/formation.component.ts +++ b/src/app/formations/details-formation/formation.component.ts @@ -11,30 +11,49 @@ import { FormationsService } from '@shared/api-swagger/api/api'; import { FormationDTO, ParticipationFormationDTO } from "@shared/api-swagger/model/models"; /** - */ + * Composant qui permet l'affichage des détails d'une formation ainsi que de sa liste de participants. + */ @Component({ selector: 'app-formation', templateUrl: './formation.component.html' }) export class FormationComponent implements OnInit { - //statutEnum = FormationModel.StatutEnum; + /** + * Formation à rechercher + */ formation:FormationDTO; + /** + * Observable pour récuperer la formation à rechercher + */ formationSubscription: Subscription; - + /** + * dataSource qui stocke la liste des participations à afficher dans le Mat Table + */ dataSource : MatTableDataSource; + + /** + * Les conlonnes à afficher dans le Mat Table + */ displayedColumns: string[]= ["agence", "collaborateur", "dateinscription", "ep"]; + /** + * id de la formation à récupérer dans l'URL. + */ id:any - + constructor(private service:FormationsService,private route:ActivatedRoute) {} ngOnInit() { + // récupérer l'id de la formation dans l'URL this.id = this.route.snapshot.paramMap.get('id'); this.formationSubscription = this.service.getFormationById(this.id).subscribe( formation => this.initFormation(formation) ); } + /** + * Initialisé la formation et ses participations si il y en a + */ initFormation(formation:FormationDTO) { this.formation = formation; if(formation.participantsFormation != undefined && formation.participantsFormation.length != 0 ) { @@ -42,6 +61,9 @@ export class FormationComponent implements OnInit { } } + /** + * Une fois la page fermée, il est nécessaire de se désabonner des Oberservable afin d'éviter les fuites mémoires. + */ ngOnDestroy() { if(this.formationSubscription != undefined) { this.formationSubscription.unsubscribe(); diff --git a/src/app/formations/edit-formation/edit-formation.component.html b/src/app/formations/edit-formation/edit-formation.component.html index a82a62a..816ea9c 100644 --- a/src/app/formations/edit-formation/edit-formation.component.html +++ b/src/app/formations/edit-formation/edit-formation.component.html @@ -4,14 +4,17 @@ +
+
+ Statut formation @@ -19,6 +22,7 @@ + Origine formation @@ -28,18 +32,21 @@
+
+ + @@ -48,11 +55,13 @@
+ Nombre de jours + Nombre d'heures @@ -60,6 +69,7 @@
+ Type formation @@ -67,6 +77,7 @@ + Mode formation @@ -76,6 +87,7 @@
+ Certifiée
diff --git a/src/app/formations/edit-formation/edit-formation.component.ts b/src/app/formations/edit-formation/edit-formation.component.ts index c820b0c..69fbdc1 100644 --- a/src/app/formations/edit-formation/edit-formation.component.ts +++ b/src/app/formations/edit-formation/edit-formation.component.ts @@ -21,25 +21,58 @@ import { FormationsService } from '@shared/api-swagger/api/api'; styleUrls: ["edit-formation.component.css"] }) export class EditFormationComponent implements OnInit { - + /** + * Observable pour récupérer la formation et enregistrer les modifications + */ formationSubscription: Subscription; + /** + * Observable pour récupérer la liste des origines formation + */ origineSubscription: Subscription; + /** + * Observable pour récupérer la liste des types formation + */ typeSubscription: Subscription; + /** + * Observable pour récupérer la liste des modes formation + */ modeSubscription: Subscription; + /** + * Observable pour récupérer la liste des statuts formation + */ statutSubscription: Subscription; + /** + * Liste des modes formations à faire afficher dans une liste déroulante. + */ modes: ModeFormationDTO[]; + /** + * Liste des types formations à faire afficher dans une liste déroulante. + */ types: TypeFormationDTO[]; + /** + * Liste des origines formations à faire afficher dans une liste déroulante. + */ origines: OrigineFormationDTO[]; + /** + * Liste des statuts formations à faire afficher dans une liste déroulante. + */ statuts: StatutFormationDTO[]; - //formation: FormationDTO; + /** + * FormBuilder qui sera lié au formulaire du template avec les attributs d'une formation + * C'est dans cet objet qu'est stockée la formation à modifier + */ formationForm: FormGroup; + + /** + * Id de la formation à récupérer dans l'URL + */ id :any; constructor(private service: FormationsService, private fb: FormBuilder, private activatedRoute:ActivatedRoute, private router: Router) { - this.formationForm= this.fb.group( + /*this.formationForm= this.fb.group( { id: [""], intitule: [""], @@ -54,11 +87,11 @@ export class EditFormationComponent implements OnInit { type: [""], estCertifie: [""] } - ); + );*/ } ngOnInit() { - + // récupérer les tableaux pour les afficher dans les liste déroulantes this.modeSubscription = this.service.getModesFormation().subscribe( modes => this.modes = modes, err => console.log(err) @@ -78,15 +111,17 @@ export class EditFormationComponent implements OnInit { types => this.types = types, err => console.log(err) ); + // récupérer l'id de la formation en paramètre de l'URL this.id = this.activatedRoute.snapshot.paramMap.get('id'); this.formationSubscription = this.service.getFormationById(this.id).subscribe( formation => this.initFormation(formation) ); } + /** + * Initialisé les champs du formulation à partir de la formation déjà existante + */ initFormation(formation:FormationDTO) { - - //this.formation = formation; this.formationForm= this.fb.group( { id: [formation.id], @@ -103,9 +138,9 @@ export class EditFormationComponent implements OnInit { estCertifie: [formation.estCertifie] } ); - } + updateFormation() { //this.formation = this.formationForm.value; this.formationSubscription = this.service.updateFormation(this.formationForm.value, this.formationForm.value.id).subscribe( @@ -125,41 +160,17 @@ export class EditFormationComponent implements OnInit { if(this.formationSubscription != undefined) { this.formationSubscription.unsubscribe(); } + if(this.modeSubscription != undefined) { + this.formationSubscription.unsubscribe(); + } + if(this.typeSubscription != undefined) { + this.formationSubscription.unsubscribe(); + } + if(this.statutSubscription != undefined) { + this.formationSubscription.unsubscribe(); + } + if(this.origineSubscription != undefined) { + this.formationSubscription.unsubscribe(); + } } } -/* -this.formationForm= this.fb.group( - { - id: [formation.id], - intitule: [formation.intitule], - origine: [formation.origine], - statut : [formation.statut], - dateDebut: [new Date(formation.dateDebut)], - dateFin: [new Date(formation.dateFin)], - heure: [formation.heure], - jour: [formation.jour], - organisme: [formation.organisme], - mode: [formation.mode], - type: [formation.type], - estCertifie: [formation.estCertifie] - } -); -*/ -/* -this.formationForm.setValue( - { - id: formation.id, - intitule: formation.intitule, - origine: formation.origine, - statut : formation.statut, - dateDebut: new Date(formation.dateDebut), - dateFin: new Date(formation.dateFin), - heure: formation.heure, - jour: formation.jour, - organisme: formation.organisme, - mode: formation.mode, - type: formation.type, - estCertifie: formation.estCertifie - } -); -*/ diff --git a/src/app/formations/formations.component.html b/src/app/formations/formations.component.html index d934fac..b84d366 100644 --- a/src/app/formations/formations.component.html +++ b/src/app/formations/formations.component.html @@ -1,6 +1,7 @@

Liste des formations

+ Intitulé @@ -28,5 +29,6 @@ + diff --git a/src/app/formations/formations.component.ts b/src/app/formations/formations.component.ts index 7c38753..938294f 100644 --- a/src/app/formations/formations.component.ts +++ b/src/app/formations/formations.component.ts @@ -18,13 +18,28 @@ import { FormationsService } from "@shared/api-swagger/api/api"; export class FormationsComponent implements OnInit { + /** + * Ordre de tri à envoyer au serveur (true : croissant, false : décroissantà). + */ asc = true; + /** + * Numéro de la page à afficher dans le tableau. + */ numPage = 1; + /** + * Nombre d'élément du tableau à affiche en une page. + */ parPage = 5; + /** + * Observable permettant de faire des requêtes sur le service formation. + */ private formationsDisponiblesSubscription : Subscription; //displayedColumns: string[] = ["intitule", "participants", "date", "origine", "statut"] + /** + * Les colonnes à afficher dans le Mat Table + */ displayedColumns: string[] = ["intitule", "origine", "participants", "date", "statut"] /** diff --git a/src/app/formations/formations.module.ts b/src/app/formations/formations.module.ts index 6fe9688..427d569 100644 --- a/src/app/formations/formations.module.ts +++ b/src/app/formations/formations.module.ts @@ -13,6 +13,9 @@ import { NewFormationComponent } from './new-formation/new-formation.component'; import { FormationComponent } from './details-formation/formation.component'; import { EditFormationComponent } from './edit-formation/edit-formation.component'; +/** + * Module des formations + */ import { FormationsRoutingModule } from './formations.routing.module'; @NgModule({ diff --git a/src/app/formations/formations.routing.module.ts b/src/app/formations/formations.routing.module.ts index e0047e0..60cb4b0 100644 --- a/src/app/formations/formations.routing.module.ts +++ b/src/app/formations/formations.routing.module.ts @@ -10,7 +10,9 @@ import { EditFormationComponent } from "./edit-formation/edit-formation.componen import { KeycloakGuard } from '@shared/guards/keycloakguard'; import { paths_formation } from "@shared/utils/paths"; - +/** + * Routes du module formation + */ const routes: Routes = [ { path:'', component: FormationsComponent, pathMatch: 'full', canActivate: [KeycloakGuard] }, { path:paths_formation.edit, component: EditFormationComponent, canActivate: [KeycloakGuard] }, diff --git a/src/app/formations/new-formation/new-formation.component.html b/src/app/formations/new-formation/new-formation.component.html index ada9d28..e2b3001 100644 --- a/src/app/formations/new-formation/new-formation.component.html +++ b/src/app/formations/new-formation/new-formation.component.html @@ -1,14 +1,18 @@

Nouvelle formation

+ + +
+
-
+ Statut formationn @@ -16,6 +20,7 @@ + Origine formation @@ -25,18 +30,21 @@
+
+ + @@ -45,11 +53,13 @@
+ Nombre de jours + Nombre d'heures @@ -57,6 +67,7 @@
+ Type formation @@ -64,6 +75,7 @@ + Mode formation @@ -73,6 +85,7 @@
+ Certifiée
diff --git a/src/app/formations/new-formation/new-formation.component.ts b/src/app/formations/new-formation/new-formation.component.ts index b314697..6d731f7 100644 --- a/src/app/formations/new-formation/new-formation.component.ts +++ b/src/app/formations/new-formation/new-formation.component.ts @@ -8,24 +8,56 @@ import { FormationDTO, ModeFormationDTO, TypeFormationDTO, StatutFormationDTO, O import { FormationsService } from "@shared/api-swagger/api/api"; /** - */ + * Composant pour l'ajout d'une nouvelle formation + */ @Component({ selector: 'app-new-formation', templateUrl: './new-formation.component.html', styleUrls: ['./new-formation.component.css'] }) export class NewFormationComponent implements OnInit { + /** + * Observable pour enregistrer la nouvelle formation + */ formationSubscription: Subscription; + /** + * Observable pour récupérer la liste des origines formation + */ origineSubscription: Subscription; + /** + * Observable pour récupérer la liste des types formation + */ typeSubscription: Subscription; + /** + * Observable pour récupérer la liste des modes formation + */ modeSubscription: Subscription; + /** + * Observable pour récupérer la liste des statuts formation + */ statutSubscription: Subscription; + /** + * Liste des modes formations à faire afficher dans une liste déroulante. + */ modes: ModeFormationDTO[]; + /** + * Liste des types formations à faire afficher dans une liste déroulante. + */ types: TypeFormationDTO[]; + /** + * Liste des origines formations à faire afficher dans une liste déroulante. + */ origines: OrigineFormationDTO[]; + /** + * Liste des statuts formations à faire afficher dans une liste déroulante. + */ statuts: StatutFormationDTO[]; - //nouvelleformation: FormationDTO; + + /** + * FormBuilder qui sera lié au formulaire du template avec les attributs d'une formation + * C'est dans cet objet qu'est stockée la nouvelle formation + */ formationForm = this.fb.group( { intitule: [""], @@ -45,6 +77,7 @@ export class NewFormationComponent implements OnInit { constructor(private fb: FormBuilder, private service:FormationsService, private router: Router) { } ngOnInit() { + // On rempli les tableaux pour les faire afficher dans une lsite déroulante this.modeSubscription = this.service.getModesFormation().subscribe( modes => this.modes = modes, err => console.log(err) @@ -68,7 +101,6 @@ export class NewFormationComponent implements OnInit { } ajouterFormation() { - //this.nouvelleformation = this.formationForm.value; this.formationSubscription = this.service.ajouterFormation(this.formationForm.value).subscribe( response => { this.router.navigate(['/formations',response["id"]]); @@ -80,5 +112,17 @@ export class NewFormationComponent implements OnInit { if(this.formationSubscription != undefined) { this.formationSubscription.unsubscribe(); } + if(this.modeSubscription != undefined) { + this.formationSubscription.unsubscribe(); + } + if(this.typeSubscription != undefined) { + this.formationSubscription.unsubscribe(); + } + if(this.statutSubscription != undefined) { + this.formationSubscription.unsubscribe(); + } + if(this.origineSubscription != undefined) { + this.formationSubscription.unsubscribe(); + } } } diff --git a/src/app/home/home-assistante/home-assistante.component.html b/src/app/home/home-assistante/home-assistante.component.html index 9fe22e4..c7227e8 100644 --- a/src/app/home/home-assistante/home-assistante.component.html +++ b/src/app/home/home-assistante/home-assistante.component.html @@ -2,7 +2,7 @@

AU DESSUS

- + Recherche un collaborateur @@ -11,7 +11,7 @@ - + @@ -21,6 +21,7 @@ Collaborateur + {{row.collaborateur.prenom}} {{row.collaborateur.nom}} @@ -32,6 +33,7 @@ Referent + {{row.referent.nom}} {{row.referent.prenom}} diff --git a/src/app/home/home-assistante/home-assistante.component.ts b/src/app/home/home-assistante/home-assistante.component.ts index 4ef63d7..99a4765 100644 --- a/src/app/home/home-assistante/home-assistante.component.ts +++ b/src/app/home/home-assistante/home-assistante.component.ts @@ -26,11 +26,31 @@ import { EpService } from "@shared/api-swagger/api/api"; export class HomeAssistanteComponent implements OnInit, AfterViewInit { + /** + * Ordre de tri à envoyer au serveur (true : croissant, false : décroissantà). + */ asc = true; - parPage = 15; + /** + * Numéro de la page à afficher dans le tableau. + */ numPage = 1; + /** + * Nombre d'élément du tableau à affiche en une page. + */ + parPage = 5; + /** + * Variable qui concerne le choix d'une des BU de l'agence à laquelle appartient l'assistante. + */ choixBU = undefined; + /** + * Liste des checkboxes à afficher + * Nous ajouterons les + */ checkboxes : string[] = ["Tous"]; + /** + * + * En fonction de son utilisation, pourrait remplacer "choixBU". + */ idsBU : number[] = []; /** * Subscription pour récupérer les EP. @@ -40,8 +60,8 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit { /** * liste des titres des colonnes du tableau. */ - //displayedColumns: string[] = ["agence", "info", "datemail", "dateentretien", "etat", "type"]; displayedColumns: string[] = ["agence", "collaborateur", "anciennete", "referent", "type", "etat", "datemail", "dateentretien" ]; + //displayedColumns: string[] = ["agence", "info", "datemail", "dateentretien", "etat", "type"]; /** * source pour l'affichage des EP dans le tableau qui est affichée. @@ -75,8 +95,6 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit { * Récupérer la liste des EP Disponibles dès l'initialisation. */ ngOnInit() { - //this.epDisponiblesSubscription = this.serviceEP.listeEPDisponibles(). - //this.epDisponiblesSubscription = this.service.collaborateursBuIdBuGet("ORL"). this.updateDataSource(); } @@ -91,16 +109,29 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit { }); } + /** + * Récupérer le nombre de temps qu'avait passé le collaborateur au sein d'Apside + * Cette méthode était utilisé avec l'ancienne version des modèle et des Classe d'Affichage + * ELle pourra être modifié pour utiliser le module "moment.js" (à chercher) + */ getAnciennete(anciennete) { let annee = Math.floor(anciennete / 31536000000); let mois = Math.floor(anciennete/ 2629800000 % 12); return annee + " an(s) et "+ mois+" mois"; } + /** + * Permettait de mettre à jour l'ancienneté d'un collaborateur dans une classe qui n'existe plus + * Elle pourra être modifié pour utiliser le module "moment.js". + */ setAnciennete(firstDate, secondDate) { return Math.abs(firstDate-secondDate); } + /** + * Retourne l'état d'un EP + * A mettre à jour + */ getEtat(etat) { let res = ""; switch(etat) { diff --git a/src/app/home/home-rh/home-rh.component.html b/src/app/home/home-rh/home-rh.component.html index cfa6a5e..88996bd 100644 --- a/src/app/home/home-rh/home-rh.component.html +++ b/src/app/home/home-rh/home-rh.component.html @@ -1,5 +1,6 @@

Page RH

+ Intitulé @@ -32,5 +33,6 @@ + diff --git a/src/app/home/home-rh/home-rh.component.ts b/src/app/home/home-rh/home-rh.component.ts index 6fb5627..eb22ed7 100644 --- a/src/app/home/home-rh/home-rh.component.ts +++ b/src/app/home/home-rh/home-rh.component.ts @@ -22,20 +22,36 @@ import { FormationsService } from "@shared/api-swagger/api/api"; }) export class HomeRHComponent implements OnInit { - + /** + * Ordre de tri à envoyer au serveur (true : croissant, false : décroissantà). + */ asc = true; - parPage = 15; + /** + * Numéro de la page à afficher dans le tableau. + */ numPage = 1; + /** + * Nombre d'élément du tableau à affiche en une page. + */ + parPage = 5; + /** + * Permet d'indiquer au serveur sur quel attribut de l'objet ReferentDTO on souhaite faire le tri + */ tri = ""; + /** + * Observable pour faire des requêtes sur le service formation. + */ private formationsDisponiblesSubscription : Subscription; - - //displayedColumns: string[] = ["intitule", "participants", "date", "origine", "statut"] + /** + * Colonnes du tableau à afficher + */ displayedColumns: string[] = ["intitule", "origine", "participants", "date", "statut","certification"]; -// displayedColumns: string[] = ["intitule", "participants", "date", "statut","certification"]; + //displayedColumns: string[] = ["intitule", "participants", "date", "origine", "statut"] + //displayedColumns: string[] = ["intitule", "participants", "date", "statut","certification"]; /** - * source pour l'affichage des formations dans le tableau qui est affichée. + * source pour l'affichage des formations dans le tableau Mat Table. */ dataSource : MatTableDataSource; @@ -65,6 +81,10 @@ export class HomeRHComponent implements OnInit { this.updateFormations(); } + /** + * Mettre à jour les informations à afficher dans la tableau. + * Devra se faire à l'ouverture de la page, au changement de page ou du nombre d'éléments à afficher, au moment d'un tri ou encore lors de l'utilisation de la barre de recherche. + */ updateFormations() { this.formationsDisponiblesSubscription = this.service.getProchainesFormation(this.asc, this.numPage, this.parPage, 1, this.search, this.tri).subscribe( formations => this.dataSource = new MatTableDataSource(formations), @@ -78,6 +98,9 @@ export class HomeRHComponent implements OnInit { return "Non"; } + /** + * Une fois la page fermée, il est nécessaire de se désabonner des Oberservable afin d'éviter les fuites mémoires. + */ ngOnDestroy() { if(this.formationsDisponiblesSubscription != undefined) { this.formationsDisponiblesSubscription.unsubscribe(); diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index 0acfc59..1e746a6 100644 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -24,6 +24,7 @@ export class HomeComponent implements OnInit { userRole : string; constructor(private keycloakService : KeycloakService) { let clientId = environment.keycloakConfig.clientId; + //récupérer les informations Keycloak de l'utilisateur this.userRole = this.keycloakService.getKeycloakInstance().resourceAccess[clientId]["roles"][0]; } diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts index 3d9a4ba..c43375e 100644 --- a/src/app/home/home.module.ts +++ b/src/app/home/home.module.ts @@ -13,6 +13,10 @@ import {HomeCommercialComponent} from './home-commercial/home-commercial.compone import {HomeComponent} from './home.component'; import {NavMenuModule} from '@shared/nav-menu/nav-menu.module'; + +/** + * Module des différents homes + */ @NgModule({ declarations: [ HomeComponent, HomeAssistanteComponent, HomeRHComponent, diff --git a/src/app/referents/referents.component.html b/src/app/referents/referents.component.html index 320ec14..2d6ac8e 100644 --- a/src/app/referents/referents.component.html +++ b/src/app/referents/referents.component.html @@ -1,6 +1,7 @@

Liste des référents

+ Agence @@ -9,6 +10,7 @@ Référent + {{row.prenom}} {{row.nom}} diff --git a/src/app/referents/referents.component.ts b/src/app/referents/referents.component.ts index af4c1a5..a1b8337 100644 --- a/src/app/referents/referents.component.ts +++ b/src/app/referents/referents.component.ts @@ -19,21 +19,47 @@ import { ReferentDTO } from "@shared/api-swagger/model/models"; }) export class ReferentsComponent implements OnInit { + /** + * Ordre de tri à envoyer au serveur (true : croissant, false : décroissantà). + */ asc = true; + /** + * Numéro de la page à afficher dans le tableau. + */ numPage = 1; + /** + * Nombre d'élément du tableau à affiche en une page. + */ parPage = 5; + /** + * Rôle des collaborateurs à récupérer via le service collaborateur, ici nous ne voulons que les collaborateurs (pour le moment...). + */ - + /** + * Observable pour faire des requêtes sur le service référent. + */ private referentsDisponiblesSubscription : Subscription; + /** + * Liste des colonnes du tableau à afficher. + */ displayedColumns : string[] = ["agence", "referent"]; + /** + * Objet pour stocker la liste des référents qui seront récupérés par le service référént + */ dataSource : MatTableDataSource; + /** + * Liste des rôles pour préciser que l'on souhaite récupérer les commerciaux + */ roles : string[] = ["Commercial"]; /** * contenu de la recherche. */ search = ""; + /** + * Permet d'indiquer au serveur sur quel attribut de l'objet ReferentDTO on souhaite faire le tri + */ tri = ""; /** * Pagination du tableau. @@ -46,15 +72,20 @@ export class ReferentsComponent implements OnInit { @ViewChild(MatSort) sort: MatSort; /** - * Spécifie si la liste des EP est en cours de chargement et d'écriture dans le tableau. + * Spécifie si la liste des référents est en cours de chargement et d'écriture dans le tableau. */ chargement = true; + constructor(private service: ReferentsService) {} ngOnInit() { this.updateDataSource(); } + /** + * Mettre à jour les informations à afficher dans la tableau. + * Devra se faire à l'ouverture de la page, au changement de page ou du nombre d'éléments à afficher, au moment d'un tri ou encore lors de l'utilisation de la barre de recherche. + */ updateDataSource() { this.referentsDisponiblesSubscription = this.service.getReferents(this.asc, this.numPage, this.parPage, this.roles, 1, undefined, this.search, this.tri).subscribe( referents => this.dataSource = new MatTableDataSource(referents), @@ -64,6 +95,9 @@ export class ReferentsComponent implements OnInit { //this.dataSource.sort = this.sort; } + /** + * Une fois la page fermée, il est nécessaire de se désabonner des Oberservable afin d'éviter les fuites mémoires. + */ ngOnDestroy() { if(this.referentsDisponiblesSubscription != undefined) { this.referentsDisponiblesSubscription.unsubscribe(); diff --git a/src/app/referents/referents.routing.module.ts b/src/app/referents/referents.routing.module.ts index 19d7f3e..bc8ec31 100644 --- a/src/app/referents/referents.routing.module.ts +++ b/src/app/referents/referents.routing.module.ts @@ -9,6 +9,9 @@ import { paths_referents } from "@shared/utils/paths"; import { KeycloakGuard } from '@shared/guards/keycloakguard'; +/** + * Routes du module référents + */ const routes: Routes = [ { path:'', @@ -23,12 +26,6 @@ const routes: Routes = [ } ]; -/* -/referents -/referents/:id (id référent) - -*/ - @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] diff --git a/src/app/shared/angular-material/angular-material.module.ts b/src/app/shared/angular-material/angular-material.module.ts index 5fff2ed..b7071bb 100644 --- a/src/app/shared/angular-material/angular-material.module.ts +++ b/src/app/shared/angular-material/angular-material.module.ts @@ -22,7 +22,7 @@ import { NgxMatDatetimePickerModule, NgxMatTimepickerModule, NgxMatNativeDateMod /** - * Module qui va faire l'import et l'export de tous les componsants material design qui seront utilisés dans l'application. + * Module qui va faire l'import et l'export de tous les componsants material design qui seront utilisés dans les différents modules. */ @NgModule({ imports : [MatCardModule, diff --git a/src/app/shared/api-swagger/api.module.ts b/src/app/shared/api-swagger/api.module.ts index 6095097..7ab974c 100644 --- a/src/app/shared/api-swagger/api.module.ts +++ b/src/app/shared/api-swagger/api.module.ts @@ -14,6 +14,10 @@ import { NotesService } from './api/notes.service'; import { ParticipationsFormationsService } from './api/participationsFormations.service'; import { ReferentsService } from './api/referents.service'; +/** + * Module généré par SwaggerHub à partir de la spécification OpenAPI. + * Lien spécification : https://app.swaggerhub.com/apis/ygrette/api-du_serveur_de_lapplication_de_digitalisation_des_ep/1.3.5 + */ @NgModule({ imports: [], declarations: [], diff --git a/src/app/shared/nav-menu/nav-menu-assistante/nav-menu-assistante.component.ts b/src/app/shared/nav-menu/nav-menu-assistante/nav-menu-assistante.component.ts index 7532c1a..ba4205c 100644 --- a/src/app/shared/nav-menu/nav-menu-assistante/nav-menu-assistante.component.ts +++ b/src/app/shared/nav-menu/nav-menu-assistante/nav-menu-assistante.component.ts @@ -2,7 +2,6 @@ import { Component } from "@angular/core"; import { CommonModule } from "@angular/common"; /** * Le nav-menu qui sera affiché pour l'assistante. - * La navigation des assistantes : accès à la liste des référents, accès à la liste des collaborateurs, accès à la liste de tous les EP. */ @Component({ selector : "app-nav-menu-assistante", diff --git a/src/app/shared/nav-menu/nav-menu-collaborateur/nav-menu-collaborateur.component.ts b/src/app/shared/nav-menu/nav-menu-collaborateur/nav-menu-collaborateur.component.ts index 97e4935..29dfc96 100644 --- a/src/app/shared/nav-menu/nav-menu-collaborateur/nav-menu-collaborateur.component.ts +++ b/src/app/shared/nav-menu/nav-menu-collaborateur/nav-menu-collaborateur.component.ts @@ -2,8 +2,6 @@ import { Component } from "@angular/core"; /** * Le nav-menu qui sera affiché pour les collaborateurs. - * La navigation des collaborateurs : accès à leur liste d'EP, accès à leur liste de formation. - * Cas des référents : accès aux demandesd de délégation. */ @Component({ selector : "app-nav-menu-collaborateur", diff --git a/src/app/shared/nav-menu/nav-menu-commercial/nav-menu-commercial.component.ts b/src/app/shared/nav-menu/nav-menu-commercial/nav-menu-commercial.component.ts index 432ac95..90a541a 100644 --- a/src/app/shared/nav-menu/nav-menu-commercial/nav-menu-commercial.component.ts +++ b/src/app/shared/nav-menu/nav-menu-commercial/nav-menu-commercial.component.ts @@ -2,7 +2,6 @@ import { Component } from "@angular/core"; /** * Le nav-menu qui sera affiché pour les commerciaux. - * La navigation des commerciaux : accès liste des collaborateurs, accès liste EP, accès liste des formations. */ @Component({ selector : "app-nav-menu-commercial", diff --git a/src/app/shared/nav-menu/nav-menu-rh/nav-menu-rh.component.ts b/src/app/shared/nav-menu/nav-menu-rh/nav-menu-rh.component.ts index de1fba5..4613c76 100644 --- a/src/app/shared/nav-menu/nav-menu-rh/nav-menu-rh.component.ts +++ b/src/app/shared/nav-menu/nav-menu-rh/nav-menu-rh.component.ts @@ -2,7 +2,6 @@ import { Component } from "@angular/core"; /** * Le nav-menu qui sera affiché pour les RH. - * La navigation des RH : accès liste collaborateurs, accès liste demandes de formation, accès liste formations, accès création formation, accès création demande de formation. */ @Component({ selector : "app-nav-menu-rh", diff --git a/src/app/shared/nav-menu/nav-menu.module.ts b/src/app/shared/nav-menu/nav-menu.module.ts index 6a5b1c3..c5e1cc1 100644 --- a/src/app/shared/nav-menu/nav-menu.module.ts +++ b/src/app/shared/nav-menu/nav-menu.module.ts @@ -11,6 +11,9 @@ import { NavMenuCollaborateurComponent } from "./nav-menu-collaborateur/nav-menu import { NavMenuCommercialComponent } from "./nav-menu-commercial/nav-menu-commercial.component"; import { NavMenuRHComponent } from "./nav-menu-rh/nav-menu-rh.component"; +/** + * Module des nav utilisés pour chaque role + */ @NgModule({ declarations: [ NavMenuComponent, NavMenuAssistanteComponent, NavMenuCollaborateurComponent, NavMenuCommercialComponent, NavMenuRHComponent diff --git a/src/app/shared/utils/paths.ts b/src/app/shared/utils/paths.ts index 7eef89a..c237e9d 100644 --- a/src/app/shared/utils/paths.ts +++ b/src/app/shared/utils/paths.ts @@ -1,3 +1,6 @@ +/** + * Chemin de la navigation du module collaborateur + */ const paths_collaborateurs = { base: "/collaborateurs", path: "collaborateurs", @@ -7,12 +10,18 @@ const paths_collaborateurs = { edit: ":id/formations/evaluation/:id/edit" }; +/** + * Chemin de la navigation du module demande délégation + */ const paths_demandes_delegation = { base: "/demandesdelegation", path: "demandesdelegation", get: ":id" }; +/** + * Chemin de la navigation du module demandes formation + */ const paths_demandes_formation = { base: "/demandesformation", path: "demandesformation", @@ -20,6 +29,9 @@ const paths_demandes_formation = { new: "nouvelledemandeformation" }; +/** + * Chemin de la navigation du module ep + */ const paths_ep = { base: "/ep", path: "ep", @@ -41,6 +53,9 @@ const paths_ep = { newparticipant: "ajoutparticipant" }; +/** + * Chemin de la navigation du module saisie ep + */ const paths_saisie_ep = { base: "/saisieep", path: "saisieep", @@ -49,21 +64,28 @@ const paths_saisie_ep = { epa6ans: "epasixans" }; +/** + * Chemin de la navigation du module formation + */ const paths_formation = { base: "/formations", path: "formations", get: ":id", edit: ":id/edit", - //evaluation: ":id/evaluation/ideval", new: "nouvelleformation" }; +/** + * Chemin de la navigation du module home + */ const paths_home = { base: "/home", path: "home" }; - +/** + * Chemin de la navigation du module référent + */ const paths_referents = { base: "/referents", path: "referents", diff --git a/src/app/shared/utils/typeenums.ts b/src/app/shared/utils/typeenums.ts index a04816b..ea96771 100644 --- a/src/app/shared/utils/typeenums.ts +++ b/src/app/shared/utils/typeenums.ts @@ -1,2 +1,2 @@ -//avoir des tableau en fait qui vont nous retourner les types des trucs en fait LOOL WOLA -//ORORORORRORORORORO +//Ce fichier permettra, peut-être, de gérer les différents enum +//A voir où on en aura besoin...