Compare commits

...

9 Commits

  1. 6
      src/app/app-routing.module.ts
  2. 15
      src/app/app.component.html
  3. 6
      src/app/app.module.ts
  4. 13
      src/app/components/collaborateur/collaborateur-add/collaborateur-add.component.html
  5. 1
      src/app/components/collaborateur/collaborateur-add/collaborateur-add.component.ts
  6. 11
      src/app/components/collaborateur/collaborateur-edit/collaborateur-edit.component.html
  7. 2
      src/app/components/collaborateur/collaborateur-edit/collaborateur-edit.component.ts
  8. 55
      src/app/components/referencement/referencement-add/referencement-add.component.html
  9. 0
      src/app/components/referencement/referencement-add/referencement-add.component.scss
  10. 107
      src/app/components/referencement/referencement-add/referencement-add.component.ts
  11. 57
      src/app/components/referencement/referencement-edit/referencement-edit.component.html
  12. 0
      src/app/components/referencement/referencement-edit/referencement-edit.component.scss
  13. 137
      src/app/components/referencement/referencement-edit/referencement-edit.component.ts
  14. 35
      src/app/components/referencement/referencement.component.html
  15. 0
      src/app/components/referencement/referencement.component.scss
  16. 59
      src/app/components/referencement/referencement.component.ts
  17. 1
      src/app/interfaces/collaborateur.ts
  18. 7
      src/app/interfaces/referencement.ts
  19. 43
      src/app/services/referencement.service.ts
  20. 2
      src/ressources/routes/routes.ts
  21. 1
      src/ressources/routes/routesPreprod.ts

@ -10,6 +10,9 @@ import {BusinessunitEditComponent} from "./components/businessunit/businessunit-
import {PeriodeEssaiComponent} from "./components/periode-essai/periode-essai.component"; import {PeriodeEssaiComponent} from "./components/periode-essai/periode-essai.component";
import {PeriodeEssaiEditComponent} from "./components/periode-essai/periode-essai-edit/periode-essai-edit.component"; import {PeriodeEssaiEditComponent} from "./components/periode-essai/periode-essai-edit/periode-essai-edit.component";
import {CollaborateurAddComponent} from "./components/collaborateur/collaborateur-add/collaborateur-add.component"; import {CollaborateurAddComponent} from "./components/collaborateur/collaborateur-add/collaborateur-add.component";
import {ReferencementComponent} from "./components/referencement/referencement.component";
import {ReferencementAddComponent} from "./components/referencement/referencement-add/referencement-add.component";
import {ReferencementEditComponent} from "./components/referencement/referencement-edit/referencement-edit.component";
const routes : Routes = [ const routes : Routes = [
{path:'', redirectTo:'/home', pathMatch:'full'}, {path:'', redirectTo:'/home', pathMatch:'full'},
@ -17,6 +20,9 @@ const routes : Routes = [
{ path:'collaborateurs',component:CollaborateurComponent, data:{title:'Collaborateurs'} }, { path:'collaborateurs',component:CollaborateurComponent, data:{title:'Collaborateurs'} },
{ path:'collaborateurs/add',component:CollaborateurAddComponent, data:{title:'Collaborateurs'} }, { path:'collaborateurs/add',component:CollaborateurAddComponent, data:{title:'Collaborateurs'} },
{ path: 'collaborateurs/:id', component: CollaborateurEditComponent, data:{title:'Collaborateurs'} }, { path: 'collaborateurs/:id', component: CollaborateurEditComponent, data:{title:'Collaborateurs'} },
{ path:'referencements',component:ReferencementComponent, data:{title:'Referencements'} },
{ path:'referencements/add',component:ReferencementAddComponent, data:{title:'Referencements'} },
{ path: 'referencements/:id', component: ReferencementEditComponent, data:{title:'Referencements'} },
{ path:'agences',component:AgenceComponent, data:{title:'Agences'} }, { path:'agences',component:AgenceComponent, data:{title:'Agences'} },
{ path: 'agences/:id', component: AgenceEditComponent, data:{title:'Agences'} }, { path: 'agences/:id', component: AgenceEditComponent, data:{title:'Agences'} },
{ path:'businessunits',component:BusinessunitComponent, data:{title:'BusinessUnits'} }, { path:'businessunits',component:BusinessunitComponent, data:{title:'BusinessUnits'} },

@ -8,13 +8,22 @@
<nav> <nav>
<button routerLink="/agences">Agences</button> <button routerLink="/agences">Agences</button>
</nav> </nav>
<div class="d-inline-block" ngbDropdown #myDrop="ngbDropdown"> <div class="d-inline-block" ngbDropdown #dropCollaborateur="ngbDropdown">
<button type="button" id="dropdownManual" ngbDropdownAnchor (focus)="myDrop.open()">Collaborateurs</button> <button type="button" id="dropdownCollaborateur" ngbDropdownAnchor (focus)="dropCollaborateur.open()">Collaborateurs</button>
<div ngbDropdownMenu aria-labelledby="dropdownManual"> <div ngbDropdownMenu aria-labelledby="dropdownCollaborateur">
<button ngbDropdownItem routerLink="/collaborateurs">Liste</button> <button ngbDropdownItem routerLink="/collaborateurs">Liste</button>
<button ngbDropdownItem routerLink="/collaborateurs/add">Ajouter</button> <button ngbDropdownItem routerLink="/collaborateurs/add">Ajouter</button>
</div> </div>
</div> </div>
<div class="d-inline-block" ngbDropdown #dropReferencement="ngbDropdown">
<button type="button" id="dropdownReferencement" ngbDropdownAnchor (focus)="dropReferencement.open()">Référencements</button>
<div ngbDropdownMenu aria-labelledby="dropdownReferencement">
<button ngbDropdownItem routerLink="/referencements">Liste</button>
<button ngbDropdownItem routerLink="/referencements/add">Ajouter</button>
</div>
</div>
<nav> <nav>
<button routerLink="/periodeessais">Périodes d'essai</button> <button routerLink="/periodeessais">Périodes d'essai</button>
</nav> </nav>

@ -18,6 +18,9 @@ import {PeriodeEssaiEditComponent} from './components/periode-essai/periode-essa
import {CollaborateurAddComponent} from './components/collaborateur/collaborateur-add/collaborateur-add.component'; import {CollaborateurAddComponent} from './components/collaborateur/collaborateur-add/collaborateur-add.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { ToastrModule } from 'ngx-toastr'; import { ToastrModule } from 'ngx-toastr';
import { ReferencementComponent } from './components/referencement/referencement.component';
import { ReferencementAddComponent } from './components/referencement/referencement-add/referencement-add.component';
import { ReferencementEditComponent } from './components/referencement/referencement-edit/referencement-edit.component';
@NgModule({ @NgModule({
declarations: [ declarations: [
@ -32,6 +35,9 @@ import { ToastrModule } from 'ngx-toastr';
PeriodeEssaiComponent, PeriodeEssaiComponent,
PeriodeEssaiEditComponent, PeriodeEssaiEditComponent,
CollaborateurAddComponent, CollaborateurAddComponent,
ReferencementComponent,
ReferencementAddComponent,
ReferencementEditComponent,
], ],
imports: [ imports: [

@ -140,19 +140,6 @@
<div class="row mb-2"> <div class="row mb-2">
<div class="form-group col-12 col-md-6">
<label class="form-label">Référent</label>
<select class="form-select" formControlName="referrerId"
[ngClass]="{ 'is-invalid': submitted && form.referrerId.errors }">
<option value="" disabled selected>Choisissez un référent pour le collaborateur</option>
<option *ngFor="let collaborateur of collaborateurs"
[ngValue]="collaborateur.id">{{collaborateur.name}} {{collaborateur.firstName}}</option>
</select>
<div *ngIf="submitted && form.referrerId.errors" class="invalid-feedback">
<div *ngIf="form.referrerId.errors.required">Vous devez préciser le référent du collaborateur</div>
</div>
</div>
<div class="form-group col-12 col-md-6"> <div class="form-group col-12 col-md-6">
<label class="form-label">Business Unit</label> <label class="form-label">Business Unit</label>
<select class="form-select" formControlName="businessUnitId" <select class="form-select" formControlName="businessUnitId"

@ -48,7 +48,6 @@ export class CollaborateurAddComponent implements OnInit {
personalMail: ['', Validators.compose([Validators.required, Validators.pattern(".*@[a-z]*\.[a-z]*")])], personalMail: ['', Validators.compose([Validators.required, Validators.pattern(".*@[a-z]*\.[a-z]*")])],
apsideMail: ['', Validators.compose([Validators.required, Validators.pattern(".*@apside-groupe\.com|.*@apside\.fr")])], apsideMail: ['', Validators.compose([Validators.required, Validators.pattern(".*@apside-groupe\.com|.*@apside\.fr")])],
resignationDate: [], resignationDate: [],
referrerId: ['', Validators.required],
businessUnitId: ['', Validators.required], businessUnitId: ['', Validators.required],
}); });
if (this.collaborateur.resignationDate) { if (this.collaborateur.resignationDate) {

@ -129,17 +129,6 @@
<div class="row mb-2"> <div class="row mb-2">
<div class="form-group col-12 col-md-6">
<label class="form-label">Référent</label>
<select class="form-select" formControlName="referrerId" [ngClass]="{ 'is-invalid': submitted && f.referrerId.errors }">
<option value="" disabled selected>Choisissez un référent pour le collaborateur</option>
<option *ngFor="let collaborateur of collaborateurs" [ngValue]="collaborateur.id">{{collaborateur.name}} {{collaborateur.firstName}}</option>
</select>
<div *ngIf="submitted && f.referrerId.errors" class="invalid-feedback">
<div *ngIf="f.referrerId.errors.required">Vous devez préciser le référent du collaborateur</div>
</div>
</div>
<div class="form-group col-12 col-md-6"> <div class="form-group col-12 col-md-6">
<label class="form-label">Business Unit</label> <label class="form-label">Business Unit</label>
<select class="form-select" formControlName="businessUnitId" [ngClass]="{ 'is-invalid': submitted && f.businessUnitId.errors }"> <select class="form-select" formControlName="businessUnitId" [ngClass]="{ 'is-invalid': submitted && f.businessUnitId.errors }">

@ -58,7 +58,6 @@ export class CollaborateurEditComponent implements OnInit {
personalMail: ['',Validators.compose([Validators.required,Validators.pattern(".+@[a-z]*\.[a-z]*")])], personalMail: ['',Validators.compose([Validators.required,Validators.pattern(".+@[a-z]*\.[a-z]*")])],
apsideMail: ['', Validators.compose([Validators.required,Validators.pattern(".+@apside-groupe\.com|.*@apside\.fr")])], apsideMail: ['', Validators.compose([Validators.required,Validators.pattern(".+@apside-groupe\.com|.*@apside\.fr")])],
resignationDate: [''], resignationDate: [''],
referrerId: ['', Validators.required],
businessUnitId: ['', Validators.required], businessUnitId: ['', Validators.required],
}); });
this.collaborateurObservable = this.collaborateurService.getCollaborateur(this.id).pipe(tap(collaborateur => this.registerForm.patchValue(collaborateur))) this.collaborateurObservable = this.collaborateurService.getCollaborateur(this.id).pipe(tap(collaborateur => this.registerForm.patchValue(collaborateur)))
@ -105,7 +104,6 @@ export class CollaborateurEditComponent implements OnInit {
this.collaborateur.gender = this.registerForm.value.gender this.collaborateur.gender = this.registerForm.value.gender
this.collaborateur.resignationDate = this.registerForm.value.resignationDate this.collaborateur.resignationDate = this.registerForm.value.resignationDate
this.collaborateur.businessUnitId = this.registerForm.value.businessUnitId this.collaborateur.businessUnitId = this.registerForm.value.businessUnitId
this.collaborateur.referrerId = this.registerForm.value.referrerId
this.collaborateur.apsideMail = this.registerForm.value.apsideMail this.collaborateur.apsideMail = this.registerForm.value.apsideMail
this.collaborateur.personalMail = this.registerForm.value.personalMail this.collaborateur.personalMail = this.registerForm.value.personalMail
this.collaborateur.telephone = this.registerForm.value.telephone this.collaborateur.telephone = this.registerForm.value.telephone

@ -0,0 +1,55 @@
<h3>Ajouter un collaborateur : </h3>
<form [formGroup]="registerForm" (ngSubmit)="onSubmit()">
<div class="row mb-2">
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3">
<label class="form-label">Date de début</label>
<input type="date" class="form-control" formControlName="startingDate"
(change)="onStartingDateChange($event)"
[ngClass]="{ 'is-invalid': submitted && form.startingDate.errors }">
</div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3">
<label class="form-label">Date de fin</label>
<input type="date" class="form-control" formControlName="endingDate"
(change)="onEndingDateChange($event)"
[ngClass]="{ 'is-invalid': submitted && form.endingDate.errors }">
</div>
</div>
<div class="row mb-2">
<div class="form-group col-12 col-md-6">
<label class="form-label">Référent</label>
<select class="form-select" formControlName="referrerId"
[ngClass]="{ 'is-invalid': submitted && form.referrerId.errors }">
<option value="" disabled selected>Choisissez le référent du référencement</option>
<option *ngFor="let collaborateur of collaborateurs" [ngValue]="collaborateur.id">{{collaborateur.name}} {{collaborateur.firstName}}</option>
</select>
<div *ngIf="submitted && form.referrerId.errors" class="invalid-feedback">
<div *ngIf="form.referrerId.errors.required">Vous devez préciser le référent du référencement</div>
</div>
</div>
<div class="form-group col-12 col-md-6">
<label class="form-label">Référé</label>
<select class="form-select" formControlName="referredId"
[ngClass]="{ 'is-invalid': submitted && form.referredId.errors }">
<option value="" disabled selected>Choisissez le référé du référencement</option>
<option *ngFor="let collaborateur of collaborateurs" [ngValue]="collaborateur.id">{{collaborateur.name}} {{collaborateur.firstName}}</option>
</select>
<div *ngIf="submitted && form.referredId.errors" class="invalid-feedback">
<div *ngIf="form.referredId.errors.required">Vous devez préciser le référent du référencement</div>
</div>
</div>
</div>
<div>
<button type="submit">Ajouter le référencement</button>
<button type="reset" (click)="onReset()">Effacer</button>
</div>
</form>

@ -0,0 +1,107 @@
import { Component, OnInit } from '@angular/core';
import {Collaborateur} from "../../../interfaces/collaborateur";
import {FormBuilder, FormGroup, Validators} from "@angular/forms";
import {HttpClient} from "@angular/common/http";
import {CollaborateurService} from "../../../services/collaborateur.service";
import {ToastrService} from "ngx-toastr";
import {ReferencementService} from "../../../services/referencement.service";
import {Referencement} from "../../../interfaces/referencement";
@Component({
selector: 'app-referencement-add',
templateUrl: './referencement-add.component.html',
styleUrls: ['./referencement-add.component.scss']
})
export class ReferencementAddComponent implements OnInit {
collaborateurs: Collaborateur[] = [];
collaborateur = {} as Collaborateur;
referencements: Referencement[] = [];
referencement = {} as Referencement;
errorValue: number = 0;
rDate: String = "";
bDate: String = "";
registerForm!: FormGroup;
submitted = false;
constructor(private http: HttpClient,
private referencementService: ReferencementService,
private collaborateurService: CollaborateurService,
private formBuilder: FormBuilder,
private toastr: ToastrService) {
}
ngOnInit(): void {
this.getCollaborateurs();
this.getReferencements();
this.registerForm = this.formBuilder.group({
referredId: ['', Validators.required],
referrerId: ['', Validators.required],
startingDate: ['', Validators.required],
endingDate: [],
});
if (this.referencement.startingDate) {
this.rDate = new Date(this.collaborateur.resignationDate).toISOString().split('T')[0];
}
if (this.referencement.endingDate) {
this.bDate = new Date(this.collaborateur.birthDate).toISOString().split('T')[0];
}
}
getCollaborateurs(): void {
this.collaborateurService.getCollaborateurs()
.subscribe(collaborateurs => this.collaborateurs = collaborateurs);
}
getReferencements(): void {
this.referencementService.getReferencements()
.subscribe(referencement => this.referencements = referencement);
}
onSubmit() {
this.submitted = true;
if (this.registerForm.invalid) {
return;
}
this.referencement = this.registerForm.value
if (this.referencement) {
this.referencementService.addReferencement(this.referencement).subscribe(referencement => {
this.referencements.push(referencement);
this.showSuccess();
},
() => {
this.showError()
})
}
}
get form() {
return this.registerForm.controls;
}
onReset() {
this.submitted = false;
this.registerForm.reset();
}
onStartingDateChange($event: any): void {
this.collaborateur.resignationDate = new Date($event.target.value);
}
onEndingDateChange($event: any): void {
this.collaborateur.birthDate = new Date($event.target.value);
}
showSuccess() {
this.toastr.success('Création réussie', 'Référencement');
}
showError() {
this.toastr.error('Création échouée', 'Référencement');
}
}

@ -0,0 +1,57 @@
<h3>Modifier un collaborateur : </h3>
<form [formGroup]="registerForm" (ngSubmit)="onSubmit()">
<div class="row mb-2">
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3">
<label class="form-label">Date de début</label>
<input type="date" class="form-control" formControlName="startingDate"
(change)="onStartingDateChange($event)"
[ngClass]="{ 'is-invalid': submitted && form.startingDate.errors }">
</div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3">
<label class="form-label">Date de fin</label>
<input type="date" class="form-control" formControlName="endingDate"
(change)="onEndingDateChange($event)"
[ngClass]="{ 'is-invalid': submitted && form.endingDate.errors }">
</div>
</div>
<div class="row mb-2">
<div class="form-group col-12 col-md-6">
<label class="form-label">Référent</label>
<select class="form-select" formControlName="referrerId"
[ngClass]="{ 'is-invalid': submitted && form.referrerId.errors }">
<option value="" disabled selected>Choisissez le référent du référencement</option>
<option *ngFor="let collaborateur of collaborateurs" [ngValue]="collaborateur.id">{{collaborateur.name}} {{collaborateur.firstName}}</option>
</select>
<div *ngIf="submitted && form.referrerId.errors" class="invalid-feedback">
<div *ngIf="form.referrerId.errors.required">Vous devez préciser le référent du référencement</div>
</div>
</div>
<div class="form-group col-12 col-md-6">
<label class="form-label">Référé</label>
<select class="form-select" formControlName="referredId"
[ngClass]="{ 'is-invalid': submitted && form.referredId.errors }">
<option value="" disabled selected>Choisissez le référé du référencement</option>
<option *ngFor="let collaborateur of collaborateurs" [ngValue]="collaborateur.id">{{collaborateur.name}} {{collaborateur.firstName}}</option>
</select>
<div *ngIf="submitted && form.referredId.errors" class="invalid-feedback">
<div *ngIf="form.referredId.errors.required">Vous devez préciser le référent du référencement</div>
</div>
</div>
</div>
<div>
<button type="submit" (click)="onSubmit()">Sauvegarder les changements</button>
<button type="button" (click)="delete()">Supprimer le référencement</button>
<button type="reset" (click)="onReset()">Effacer</button>
<button (click)="goBack()">Retour</button>
</div>
</form>

@ -0,0 +1,137 @@
import { Component, OnInit } from '@angular/core';
import {Collaborateur} from "../../../interfaces/collaborateur";
import {Referencement} from "../../../interfaces/referencement";
import {FormBuilder, FormGroup, Validators} from "@angular/forms";
import {HttpClient} from "@angular/common/http";
import {ReferencementService} from "../../../services/referencement.service";
import {CollaborateurService} from "../../../services/collaborateur.service";
import {ToastrService} from "ngx-toastr";
import {Location} from "@angular/common";
import {ActivatedRoute} from "@angular/router";
import {Observable} from "rxjs";
import {take, tap} from "rxjs/operators";
@Component({
selector: 'app-referencement-edit',
templateUrl: './referencement-edit.component.html',
styleUrls: ['./referencement-edit.component.scss']
})
export class ReferencementEditComponent implements OnInit {
referencementObservable! : Observable<Referencement>;
id: number;
collaborateurs: Collaborateur[] = [];
collaborateur = {} as Collaborateur;
referencements: Referencement[] = [];
referencement = {} as Referencement;
errorValue: number = 0;
rDate: String = "";
bDate: String = "";
registerForm!: FormGroup;
submitted = false;
constructor(private http: HttpClient,
private referencementService: ReferencementService,
private collaborateurService: CollaborateurService,
private formBuilder: FormBuilder,
private location: Location,
private route: ActivatedRoute,
private toastr: ToastrService) {
this.id = Number(this.route.snapshot.paramMap.get('id'))
}
async ngOnInit() {
this.getCollaborateurs();
this.getReferencements();
this.registerForm = this.formBuilder.group({
referredId: ['', Validators.required],
referrerId: ['', Validators.required],
startingDate: ['', Validators.required],
endingDate: [],
});
this.referencementObservable = this.referencementService.getReferencement(this.id).pipe(tap(ref => this.registerForm.patchValue(ref)))
this.referencement = await this.referencementObservable.pipe(take(1)).toPromise()
if (this.referencement.startingDate) {
this.rDate = new Date(this.referencement.startingDate).toISOString().split('T')[0];
}
if (this.referencement.endingDate) {
this.bDate = new Date(this.referencement.endingDate).toISOString().split('T')[0];
}
}
getCollaborateurs(): void {
this.collaborateurService.getCollaborateurs()
.subscribe(collaborateurs => this.collaborateurs = collaborateurs);
}
getReferencements(): void {
this.referencementService.getReferencements()
.subscribe(referencement => this.referencements = referencement);
}
onSubmit() {
this.submitted = true;
if (this.registerForm.invalid) {
return;
}
this.referencement.referredId = this.registerForm.value.referredId
this.referencement.referrerId = this.registerForm.value.referrerId
this.referencement.startingDate = this.registerForm.value.startingDate
if(this.registerForm.value.endingDate != undefined){
this.referencement.referredId = this.registerForm.value.referredId
}
if (this.referencement) {
this.referencementService.updateReferencement(this.referencement).subscribe(() => {
this.showSuccess();
},
() => {
this.showError()
})
}
}
get form() {
return this.registerForm.controls;
}
onReset() {
this.submitted = false;
this.registerForm.reset();
}
onStartingDateChange($event: any): void {
this.collaborateur.resignationDate = new Date($event.target.value);
}
onEndingDateChange($event: any): void {
this.collaborateur.birthDate = new Date($event.target.value);
}
showSuccess() {
this.toastr.success('Modification réussie', 'Référencement');
}
showError() {
this.toastr.error('Modification échouée', 'Référencement');
}
goBack(): void {
this.location.back();
}
delete():void {
if (this.referencement){
this.referencementService.deleteReferencement(this.referencement)
.subscribe(()=>this.goBack());
}
}
}

@ -0,0 +1,35 @@
<div>
<h2 class=mb-4>Référencements</h2>
<div style="display: flex">
<p style="margin: 10px 0 10px 0">Pour ajouter un nouveau référencement, cliquez ici : </p>
<button routerLink="/referencements/add">Ajouter</button>
</div>
<div style="overflow-x:auto;" class="mb-5 col-12">
<table class="table">
<thead>
<tr>
<th scope="col">Référent</th>
<th scope="col">Référé</th>
<th scope="col">Date de début</th>
<th scope="col">Date de fin</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let referencement of referencements">
<td> {{getCollaborateurById(referencement.referrerId).name}} {{getCollaborateurById(referencement.referrerId).firstName}}</td>
<td> {{getCollaborateurById(referencement.referredId).name}} {{getCollaborateurById(referencement.referredId).firstName}} </td>
<td> {{getSplitDate(referencement.startingDate.toString())}} </td>
<td> {{getSplitDate(referencement.endingDate?.toString())}} </td>
<td><a routerLink="{{referencement.id}}"> Modifier </a></td>
</tr>
</tbody>
</table>
</div>
</div>

@ -0,0 +1,59 @@
import { Component, OnInit } from '@angular/core';
import {HttpClient} from "@angular/common/http";
import {ReferencementService} from "../../services/referencement.service";
import {Referencement} from "../../interfaces/referencement";
import {CollaborateurService} from "../../services/collaborateur.service";
import {Collaborateur} from "../../interfaces/collaborateur";
@Component({
selector: 'app-referencement',
templateUrl: './referencement.component.html',
styleUrls: ['./referencement.component.scss']
})
export class ReferencementComponent implements OnInit {
referencements: Referencement[] = [];
collaborateurs: Collaborateur[]= [];
constructor(
private http: HttpClient,
private referencementService: ReferencementService,
private collaborateurService: CollaborateurService,
) {
}
ngOnInit(): void {
this.getReferencements();
this.getCollaborateurs();
}
getCollaborateurs(): void {
this.collaborateurService.getCollaborateurs()
.subscribe(collaborateurs => this.collaborateurs = collaborateurs);
}
getCollaborateurById(id : number) : Collaborateur{
let collab = {} as Collaborateur;
this.collaborateurs.forEach(c => {
if (c.id==id){
collab= c;
return;
}
});
return collab;
}
getReferencements(): void {
this.referencementService.getReferencements()
.subscribe(referencements => this.referencements = referencements);
}
getSplitDate(date: string | undefined) : string{
if (date == undefined){
return "";
}
return date.split('T')[0];
}
}

@ -10,7 +10,6 @@ export interface Collaborateur {
personalMail:string; personalMail:string;
apsideMail:string; apsideMail:string;
resignationDate:Date; resignationDate:Date;
referrerId:number;
businessUnitId:number; businessUnitId:number;
id: number; id: number;
} }

@ -0,0 +1,7 @@
export interface Referencement {
id: number;
startingDate : Date;
endingDate? : Date;
referredId : number;
referrerId : number;
}

@ -0,0 +1,43 @@
import {Referencement} from "../interfaces/referencement";
import {Injectable} from '@angular/core';
import {Observable} from "rxjs";
import {HttpClient, HttpHeaders} from "@angular/common/http";
import {referencementsUrl} from "../../ressources/routes/routesPreprod";
@Injectable({providedIn: 'root'})
export class ReferencementService {
private referencementsUrl = referencementsUrl;
httpOptions = {
headers: new HttpHeaders({ 'Content-Type': 'application/json' })
};
constructor(private http: HttpClient) { }
getReferencements():Observable<Referencement[]> {
return this.http.get<Referencement[]>(this.referencementsUrl);
}
getReferencement(id : number):Observable<Referencement>{
return this.http.get<Referencement>(this.referencementsUrl+"/"+id);
}
updateReferencement(referencement : Referencement):Observable<Referencement>{
let body = JSON.stringify(referencement);
return this.http.put<Referencement>(this.referencementsUrl + "/" + referencement.id, body, this.httpOptions);
}
deleteReferencement(referencement: Referencement) {
return this.http.delete(this.referencementsUrl + "/" + referencement.id);
}
addReferencement(referencement: Referencement): Observable<Referencement> {
let body = JSON.stringify(referencement);
return this.http.post<Referencement>(this.referencementsUrl, body, this.httpOptions);
}
}

@ -1,3 +1,5 @@
export const collaborateursUrl = 'https://localhost:5001/api/collaborateurs'; export const collaborateursUrl = 'https://localhost:5001/api/collaborateurs';
export const agencesUrl = 'https://localhost:5001/api/agences'; export const agencesUrl = 'https://localhost:5001/api/agences';
export const businessunitsUrl = 'https://localhost:5001/api/businessunits'; export const businessunitsUrl = 'https://localhost:5001/api/businessunits';
export const periodeessaisUrl = 'https://localhost:5001/api/periodeessais';
export const referencementsUrl = 'https://localhost:5001/api/referencements';

@ -2,3 +2,4 @@ export const collaborateursUrl = 'https://collaborateur-epa.apsdigit.lan/api/col
export const agencesUrl = 'https://collaborateur-epa.apsdigit.lan/api/agences'; export const agencesUrl = 'https://collaborateur-epa.apsdigit.lan/api/agences';
export const businessunitsUrl = 'https://collaborateur-epa.apsdigit.lan/api/businessunits'; export const businessunitsUrl = 'https://collaborateur-epa.apsdigit.lan/api/businessunits';
export const periodeessaisUrl = 'https://collaborateur-epa.apsdigit.lan/api/periodeessais'; export const periodeessaisUrl = 'https://collaborateur-epa.apsdigit.lan/api/periodeessais';
export const referencementsUrl = 'https://collaborateur-epa.apsdigit.lan/api/referencements';

Loading…
Cancel
Save