3ème MR fix_periode_essai à faire #19

Merged
AlexandreRuiz merged 2 commits from fix_periode_essai into develop 2 years ago
  1. 6
      Dockerfile
  2. 2
      src/app/app-routing.module.ts
  3. 12
      src/app/app.component.html
  4. 2
      src/app/app.module.ts
  5. 73
      src/app/components/periode-essai/periode-essai-add/periode-essai-add.component.html
  6. 0
      src/app/components/periode-essai/periode-essai-add/periode-essai-add.component.scss
  7. 109
      src/app/components/periode-essai/periode-essai-add/periode-essai-add.component.ts
  8. 24
      src/app/components/periode-essai/periode-essai-edit/periode-essai-edit.component.html
  9. 32
      src/app/components/periode-essai/periode-essai-edit/periode-essai-edit.component.ts
  10. 74
      src/app/components/periode-essai/periode-essai.component.html
  11. 78
      src/app/components/periode-essai/periode-essai.component.ts
  12. 2
      src/app/components/referencement/referencement-add/referencement-add.component.html
  13. 10
      src/app/components/referencement/referencement-add/referencement-add.component.ts
  14. 20
      src/app/components/referencement/referencement-edit/referencement-edit.component.ts
  15. 2
      src/app/interfaces/periode-essai.ts
  16. 2
      src/app/interfaces/referencement.ts

@ -1,5 +1,4 @@
# Stage 1 # Stage 1 : Building the application
FROM node:16-alpine3.14 as build-step FROM node:16-alpine3.14 as build-step
RUN mkdir -p /app RUN mkdir -p /app
@ -12,8 +11,7 @@ RUN npm install
RUN npm run build --prod RUN npm run build --prod
# Stage 2 # Stage 2 : Deploying the application on Nginx
FROM nginx:1.17.1-alpine FROM nginx:1.17.1-alpine
RUN rm -rf /usr/share/nginx/html/* && rm -rf /etc/nginx/nginx.conf RUN rm -rf /usr/share/nginx/html/* && rm -rf /etc/nginx/nginx.conf

@ -13,6 +13,7 @@ import {CollaborateurAddComponent} from "./components/collaborateur/collaborateu
import {ReferencementComponent} from "./components/referencement/referencement.component"; import {ReferencementComponent} from "./components/referencement/referencement.component";
import {ReferencementAddComponent} from "./components/referencement/referencement-add/referencement-add.component"; import {ReferencementAddComponent} from "./components/referencement/referencement-add/referencement-add.component";
import {ReferencementEditComponent} from "./components/referencement/referencement-edit/referencement-edit.component"; import {ReferencementEditComponent} from "./components/referencement/referencement-edit/referencement-edit.component";
import {PeriodeEssaiAddComponent} from "./components/periode-essai/periode-essai-add/periode-essai-add.component";
const routes : Routes = [ const routes : Routes = [
{path:'', redirectTo:'/home', pathMatch:'full'}, {path:'', redirectTo:'/home', pathMatch:'full'},
@ -28,6 +29,7 @@ const routes : Routes = [
{ path:'businessunits',component:BusinessunitComponent, data:{title:'BusinessUnits'} }, { path:'businessunits',component:BusinessunitComponent, data:{title:'BusinessUnits'} },
{ path: 'businessunits/:id', component: BusinessunitEditComponent, data:{title:'BusinessUnits'} }, { path: 'businessunits/:id', component: BusinessunitEditComponent, data:{title:'BusinessUnits'} },
{ path:'periodeessais',component:PeriodeEssaiComponent, data:{title:'Periodes d\'Essai'} }, { path:'periodeessais',component:PeriodeEssaiComponent, data:{title:'Periodes d\'Essai'} },
{ path: 'periodeessais/add', component: PeriodeEssaiAddComponent, data:{title:'Periodes d\'Essai'} },
{ path: 'periodeessais/:id', component: PeriodeEssaiEditComponent, data:{title:'Periodes d\'Essai'} }, { path: 'periodeessais/:id', component: PeriodeEssaiEditComponent, data:{title:'Periodes d\'Essai'} },
]; ];

@ -24,9 +24,15 @@
</div> </div>
</div> </div>
<nav> <div class="d-inline-block" ngbDropdown #dropPeriodeEssai="ngbDropdown">
<button routerLink="/periodeessais">Périodes d'essai</button> <button type="button" id="dropdownPeriodeEssai" ngbDropdownAnchor (focus)="dropPeriodeEssai.open()">Périodes d'essai</button>
</nav> <div ngbDropdownMenu aria-labelledby="dropdownPeriodeEssai">
<button ngbDropdownItem routerLink="/periodeessais">Liste</button>
<button ngbDropdownItem routerLink="/periodeessais/add">Ajouter</button>
</div>
</div>
</div> </div>
<div class="container" role="main"> <div class="container" role="main">

@ -21,6 +21,7 @@ import { ToastrModule } from 'ngx-toastr';
import { ReferencementComponent } from './components/referencement/referencement.component'; import { ReferencementComponent } from './components/referencement/referencement.component';
import { ReferencementAddComponent } from './components/referencement/referencement-add/referencement-add.component'; import { ReferencementAddComponent } from './components/referencement/referencement-add/referencement-add.component';
import { ReferencementEditComponent } from './components/referencement/referencement-edit/referencement-edit.component'; import { ReferencementEditComponent } from './components/referencement/referencement-edit/referencement-edit.component';
import { PeriodeEssaiAddComponent } from './components/periode-essai/periode-essai-add/periode-essai-add.component';
@NgModule({ @NgModule({
declarations: [ declarations: [
@ -38,6 +39,7 @@ import { ReferencementEditComponent } from './components/referencement/reference
ReferencementComponent, ReferencementComponent,
ReferencementAddComponent, ReferencementAddComponent,
ReferencementEditComponent, ReferencementEditComponent,
PeriodeEssaiAddComponent,
], ],
imports: [ imports: [

@ -0,0 +1,73 @@
<h3>Ajouter une Période d'essai : </h3>
<form [formGroup]="registerForm" (ngSubmit)="onSubmit()">
<div class="form-group col-12 col-md-6">
<label class="form-label">Collaborateur</label>
<select class="form-select" formControlName="collaborateurId" id="collaborateur-select"
[ngClass]="{ 'is-invalid': submitted && f.collaborateurId.errors }">
<option value="" disabled selected>Choisissez le collaborateur concerné par cette période d'essai</option>
<option *ngFor="let collaborateur of collaborateurs"
[ngValue]="collaborateur.id">{{collaborateur.name}} {{collaborateur.firstName}}</option>
</select>
<div *ngIf="submitted && f.collaborateurId.errors" class="invalid-feedback">
<div *ngIf="f.collaborateurId.errors.required">Vous devez choisir le collaborateur concerné par cette période
d'essai
</div>
</div>
</div>
<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 && f.startingDate.errors }">
<div *ngIf="submitted && f.startingDate.errors" class="invalid-feedback">
<div *ngIf="f.startingDate.errors.required">La date de début d'une période d'essai est obligatoire</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3">
<label class="form-label">Date de fin prévue</label>
<input type="date" class="form-control" formControlName="plannedEndingDate"
(change)="onPlannedEndingDateChange($event)"
[ngClass]="{ 'is-invalid': submitted && f.plannedEndingDate.errors }">
<div *ngIf="submitted && f.plannedEndingDate.errors" class="invalid-feedback">
<div *ngIf="f.plannedEndingDate.errors.required">La date de fin prévue d'une période d'essai est obligatoire
</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3">
<label class="form-label">Date de fin réelle</label>
<input type="date" class="form-control" formControlName="realEndingDate"
(change)="onRealEndingDateChange($event)">
</div>
</div>
<div class="row mb-2">
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3 mb-2">
<label class="form-label">Commentaire</label>
<input class="form-control" formControlName="comment" [ngClass]="{ 'is-invalid': submitted && f.comment.errors }">
</div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3 mb-2">
<label class="form-label">Issue</label>
<select class="form-select" formControlName="issue">
<option value="" disabled selected>Statut</option>
<option value="VALIDEE">Validée</option>
<option value="PROLONGEE_COLLAB">Prolongée par le collaborateur</option>
<option value="PROLONGEE_APSIDE">Prolongée par Apside</option>
<option value="ARRETEE_COLLAB">Arrêtée par le collaborateur</option>
<option value="ARRETEE_APSIDE">Arrêtée par Apside</option>
<option value="INDETERMINEE">Indéterminée</option>
</select>
</div>
</div>
<div>
<button type="submit">Créer la période d'essai</button>
<button type="reset" (click)="onReset()">Effacer</button>
</div>
</form>

@ -0,0 +1,109 @@
import {Component, OnInit} from '@angular/core';
import {Collaborateur} from "../../../interfaces/collaborateur";
import {PeriodeEssai} from "../../../interfaces/periode-essai";
import {FormBuilder, FormGroup, Validators} from "@angular/forms";
import {HttpClient} from "@angular/common/http";
import {CollaborateurService} from "../../../services/collaborateur.service";
import {PeriodeEssaiService} from "../../../services/periode-essai.service";
import {ToastrService} from "ngx-toastr";
@Component({
selector: 'app-periode-essai-add',
templateUrl: './periode-essai-add.component.html',
styleUrls: ['./periode-essai-add.component.scss']
})
export class PeriodeEssaiAddComponent implements OnInit {
collaborateurs: Collaborateur[] = [];
collaborateur = {} as Collaborateur;
periodeEssai = {} as PeriodeEssai;
registerForm!: FormGroup;
submitted = false;
constructor(
private http: HttpClient,
private collaborateurService: CollaborateurService,
private periodeEssaiService: PeriodeEssaiService,
private formBuilder: FormBuilder,
private toastr: ToastrService
) {
}
get f() {
return this.registerForm.controls;
}
ngOnInit(): void {
this.getCollaborateurs();
this.registerForm = this.formBuilder.group({
comment: [],
collaborateurId: ['', Validators.required],
issue: [],
plannedEndingDate: ['', Validators.required],
realEndingDate: [],
startingDate: ['', Validators.required]
});
}
getCollaborateurs(): void {
this.collaborateurService.getCollaborateurs()
.subscribe(collaborateurs => this.collaborateurs = collaborateurs);
}
onSubmit() {
this.submitted = true;
if (this.registerForm.invalid) {
return;
}
this.periodeEssai.comment = this.registerForm.value.comment;
this.periodeEssai.collaborateurId = this.registerForm.value.collaborateurId;
if (this.registerForm.value.issue == undefined) {
this.periodeEssai.issue = "INDETERMINEE";
} else {
this.periodeEssai.issue = this.registerForm.value.issue;
}
if (this.registerForm.value.realEndingDate == undefined) {
this.periodeEssai.realEndingDate = new Date();
} else {
this.periodeEssai.realEndingDate = this.registerForm.value.realEndingDate;
}
this.periodeEssai.plannedEndingDate = this.registerForm.value.plannedEndingDate;
this.periodeEssai.startingDate = this.registerForm.value.startingDate;
this.periodeEssaiService.addPeriodeEssai(this.periodeEssai)
.subscribe(() => {
this.showSuccess();
},
() => {
this.showError()
});
}
onReset() {
this.submitted = false;
this.registerForm.reset();
}
onStartingDateChange($event: any): void {
this.periodeEssai.startingDate = new Date($event.target.value);
}
onPlannedEndingDateChange($event: any): void {
this.periodeEssai.plannedEndingDate = new Date($event.target.value);
}
onRealEndingDateChange($event: any): void {
this.periodeEssai.realEndingDate = new Date($event.target.value);
}
showSuccess() {
this.toastr.success('Création réussie', 'Période d\'essai');
}
showError() {
this.toastr.error('Création échouée', 'Période d\'essai');
}
}

@ -45,27 +45,25 @@
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3"> <div class="form-group col-12 col-sm-6 col-md-4 col-lg-3">
<label class="form-label">Date de fin réelle</label> <label class="form-label">Date de fin réelle</label>
<input type="date" [value]="periodeEssai.realEndingDate | date:'yyyy-MM-dd'" class="form-control" <input type="date" [value]="periodeEssai.realEndingDate | date:'yyyy-MM-dd'" class="form-control"
formControlName="realEndingDate" (change)="onRealEndingDateChange($event)" formControlName="realEndingDate" (change)="onRealEndingDateChange($event)">
[ngClass]="{ 'is-invalid': submitted && f.realEndingDate.errors }">
<div *ngIf="submitted && f.realEndingDate.errors" class="invalid-feedback">
<div *ngIf="f.realEndingDate.errors.required">La date de fin réelle d'une période d'essai est obligatoire</div>
</div>
</div> </div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3 mb-2"> <div class="form-group col-12 col-sm-6 col-md-4 col-lg-3 mb-2">
<label class="form-label">Commentaire</label> <label class="form-label">Commentaire</label>
<input class="form-control" formControlName="comment" [ngClass]="{ 'is-invalid': submitted && f.comment.errors }"> <input class="form-control" formControlName="comment">
<div *ngIf="submitted && f.comment.errors" class="invalid-feedback">
<div *ngIf="f.comment.errors.required">Le commentaire d'une période d'essai est obligatoire</div>
</div>
</div> </div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3 mb-2"> <div class="form-group col-12 col-sm-6 col-md-4 col-lg-3 mb-2">
<label class="form-label">Issue</label> <label class="form-label">Issue</label>
<input class="form-control" formControlName="issue" [ngClass]="{ 'is-invalid': submitted && f.issue.errors }"> <select class="form-select" formControlName="issue">
<div *ngIf="submitted && f.issue.errors" class="invalid-feedback"> <option value="" disabled selected>Statut</option>
<div *ngIf="f.issue.errors.required">L'issue d'une période d'essai est obligatoire</div> <option value="VALIDEE">Validée</option>
</div> <option value="PROLONGEE_COLLAB">Prolongée par le collaborateur</option>
<option value="PROLONGEE_APSIDE">Prolongée par Apside</option>
<option value="ARRETEE_COLLAB">Arrêtée par le collaborateur</option>
<option value="ARRETEE_APSIDE">Arrêtée par Apside</option>
<option value="INDETERMINEE">Indéterminée</option>
</select>
</div> </div>
<div> <div>

@ -40,15 +40,19 @@ export class PeriodeEssaiEditComponent implements OnInit {
this.id = Number(this.route.snapshot.paramMap.get('id')) this.id = Number(this.route.snapshot.paramMap.get('id'))
} }
get f() {
return this.registerForm.controls;
}
async ngOnInit() { async ngOnInit() {
this.getCollaborateurs(); this.getCollaborateurs();
this.getPeriodeEssais(); this.getPeriodeEssais();
this.registerForm = this.formBuilder.group({ this.registerForm = this.formBuilder.group({
comment: ['', Validators.required], comment: [],
collaborateurId: ['', Validators.required], collaborateurId: ['', Validators.required],
issue: ['',Validators.required], issue: [],
plannedEndingDate: ['', Validators.required], plannedEndingDate: ['', Validators.required],
realEndingDate: ['',Validators.required], realEndingDate: [],
startingDate: ['', Validators.required] startingDate: ['', Validators.required]
}); });
this.periodeEssaiObservable = this.periodeEssaiService.getPeriodeEssai(this.id).pipe(tap(pe => this.registerForm.patchValue(pe))) this.periodeEssaiObservable = this.periodeEssaiService.getPeriodeEssai(this.id).pipe(tap(pe => this.registerForm.patchValue(pe)))
@ -82,15 +86,21 @@ export class PeriodeEssaiEditComponent implements OnInit {
if (this.registerForm.invalid) { if (this.registerForm.invalid) {
return; return;
} }
this.periodeEssai.comment = this.registerForm.value.comment
this.periodeEssai.collaborateurId = this.registerForm.value.collaborateurId
this.periodeEssai.issue = this.registerForm.value.issue
this.periodeEssai.realEndingDate = this.registerForm.value.realEndingDate
this.periodeEssai.startingDate = this.registerForm.value.startingDate
if (this.registerForm.value.plannedEndingDate == undefined) { this.periodeEssai.comment = this.registerForm.value.comment;
this.periodeEssai.plannedEndingDate = new Date(); this.periodeEssai.collaborateurId = this.registerForm.value.collaborateurId;
if (this.registerForm.value.issue == undefined) {
this.periodeEssai.issue = "INDETERMINEE";
} else {
this.periodeEssai.issue = this.registerForm.value.issue;
} }
if (this.registerForm.value.realEndingDate == undefined || this.registerForm.value.realEndingDate == '') {
this.periodeEssai.realEndingDate = null;
} else {
this.periodeEssai.realEndingDate = this.registerForm.value.realEndingDate;
}
this.periodeEssai.plannedEndingDate = this.registerForm.value.plannedEndingDate;
this.periodeEssai.startingDate = this.registerForm.value.startingDate;
if (this.periodeEssai) { if (this.periodeEssai) {
this.periodeEssaiService.updatePeriodeEssai(this.periodeEssai) this.periodeEssaiService.updatePeriodeEssai(this.periodeEssai)
@ -103,8 +113,6 @@ export class PeriodeEssaiEditComponent implements OnInit {
} }
} }
get f() { return this.registerForm.controls; }
onReset() { onReset() {
this.submitted = false; this.submitted = false;
this.registerForm.reset(); this.registerForm.reset();

@ -1,84 +1,25 @@
<div xmlns=""> <div xmlns="">
<h3>Ajouter une Période d'Essai : </h3> <h2 class=mb-4>Périodes d'essai</h2>
<form [formGroup]="registerForm" (ngSubmit)="onSubmit()" >
<div class="form-group col-12 col-md-6">
<label class="form-label">Collaborateur</label>
<select class="form-select" formControlName="collaborateurId" id="collaborateur-select" [ngClass]="{ 'is-invalid': submitted && f.collaborateurId.errors }">
<option value="" disabled selected>Choisissez le collaborateur concerné par cette période d'essai</option>
<option *ngFor="let collaborateur of collaborateurs" [ngValue]="collaborateur.id">{{collaborateur.name}}</option>
</select>
<div *ngIf="submitted && f.collaborateurId.errors" class="invalid-feedback">
<div *ngIf="f.collaborateurId.errors.required">Vous devez choisir le collaborateur concerné par cette période d'essai </div>
</div>
</div>
<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 && f.startingDate.errors }">
<div *ngIf="submitted && f.startingDate.errors" class="invalid-feedback">
<div *ngIf="f.startingDate.errors.required">La date de début d'une période d'essai est obligatoire</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3">
<label class="form-label">Date de fin prévue</label>
<input type="date" class="form-control" formControlName="plannedEndingDate" (change)="onPlannedEndingDateChange($event)" [ngClass]="{ 'is-invalid': submitted && f.plannedEndingDate.errors }">
<div *ngIf="submitted && f.plannedEndingDate.errors" class="invalid-feedback">
<div *ngIf="f.plannedEndingDate.errors.required">La date de fin prévue d'une période d'essai est obligatoire</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3">
<label class="form-label">Date de fin réelle</label>
<input type="date" class="form-control" formControlName="realEndingDate" (change)="onRealEndingDateChange($event)" [ngClass]="{ 'is-invalid': submitted && f.realEndingDate.errors }">
<div *ngIf="submitted && f.realEndingDate.errors" class="invalid-feedback">
<div *ngIf="f.realEndingDate.errors.required">La date de fin réelle d'une période d'essai est obligatoire</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3 mb-2">
<label class="form-label">Commentaire</label>
<input class="form-control" formControlName="comment" [ngClass]="{ 'is-invalid': submitted && f.comment.errors }">
<div *ngIf="submitted && f.comment.errors" class="invalid-feedback">
<div *ngIf="f.comment.errors.required">Le commentaire d'une période d'essai est obligatoire</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3 mb-2">
<label class="form-label">Issue</label>
<input class="form-control" formControlName="issue" [ngClass]="{ 'is-invalid': submitted && f.issue.errors }">
<div *ngIf="submitted && f.issue.errors" class="invalid-feedback">
<div *ngIf="f.issue.errors.required">L'issue d'une période d'essai est obligatoire</div>
</div>
</div>
<div> <div style="display: flex">
<button type="submit">Créer la période d'essai</button> <p style="margin: 10px 0 10px 0">Pour ajouter une nouvelle période d'essai, cliquez ici : </p>
<button type="reset" (click)="onReset()">Effacer</button> <button routerLink="/periodeessais/add">Ajouter</button>
</div> </div>
</form>
<h2 class = mb-4>Périodes d'essai</h2>
<div style="overflow-x:auto;" class="mb-5 col-12"> <div style="overflow-x:auto;" class="mb-5 col-12">
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
<th scope="col">ID</th> <th scope="col">ID</th>
<th scope="col">Collaborateur ID</th> <th scope="col">Collaborateur</th>
<th scope="col">Issue</th> <th scope="col">Issue</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr *ngFor="let periodeEssai of periodeEssais"> <tr *ngFor="let periodeEssai of periodeEssais">
<th scope="row">{{periodeEssai.id}}</th> <th scope="row">{{periodeEssai.id}}</th>
<td> {{periodeEssai.collaborateurId}} </td> <td> {{getCollaborateurById(periodeEssai.collaborateurId).name}} {{getCollaborateurById(periodeEssai.collaborateurId).firstName}} </td>
<td> {{periodeEssai.issue}}</td> <td> {{periodeEssai.issue}}</td>
<td><a routerLink="{{periodeEssai.id}}"> Modifier </a></td> <td><a routerLink="{{periodeEssai.id}}"> Modifier </a></td>
</tr> </tr>
@ -86,7 +27,4 @@
</table> </table>
</div> </div>
</div> </div>

@ -1,11 +1,9 @@
import {Component, OnInit} from '@angular/core'; import {Component, OnInit} from '@angular/core';
import {HttpClient} from "@angular/common/http"; import {HttpClient} from "@angular/common/http";
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
import {PeriodeEssai} from "../../interfaces/periode-essai"; import {PeriodeEssai} from "../../interfaces/periode-essai";
import {Collaborateur} from "../../interfaces/collaborateur"; import {Collaborateur} from "../../interfaces/collaborateur";
import {CollaborateurService} from "../../services/collaborateur.service"; import {CollaborateurService} from "../../services/collaborateur.service";
import {PeriodeEssaiService} from "../../services/periode-essai.service"; import {PeriodeEssaiService} from "../../services/periode-essai.service";
import {ToastrService} from "ngx-toastr";
@Component({ @Component({
selector: 'app-periode-essai', selector: 'app-periode-essai',
@ -15,33 +13,18 @@ import {ToastrService} from "ngx-toastr";
export class PeriodeEssaiComponent implements OnInit { export class PeriodeEssaiComponent implements OnInit {
collaborateurs: Collaborateur[] = []; collaborateurs: Collaborateur[] = [];
collaborateur = {} as Collaborateur;
periodeEssais: PeriodeEssai[] = []; periodeEssais: PeriodeEssai[] = [];
periodeEssai = {} as PeriodeEssai;
registerForm!: FormGroup;
submitted = false;
constructor( constructor(
private http: HttpClient, private http: HttpClient,
private collaborateurService: CollaborateurService, private collaborateurService: CollaborateurService,
private periodeEssaiService: PeriodeEssaiService, private periodeEssaiService: PeriodeEssaiService,
private formBuilder: FormBuilder, ) {
private toastr: ToastrService }
) { }
ngOnInit(): void { ngOnInit(): void {
this.getCollaborateurs(); this.getCollaborateurs();
this.getPeriodeEssais(); this.getPeriodeEssais();
this.registerForm = this.formBuilder.group({
comment: ['', Validators.required],
collaborateurId: ['',Validators.required],
issue: ['',Validators.required],
plannedEndingDate: ['',Validators.required],
realEndingDate: ['',Validators.required],
startingDate: ['',Validators.required]
});
} }
getCollaborateurs(): void { getCollaborateurs(): void {
@ -49,58 +32,21 @@ export class PeriodeEssaiComponent implements OnInit {
.subscribe(collaborateurs => this.collaborateurs = collaborateurs); .subscribe(collaborateurs => this.collaborateurs = collaborateurs);
} }
getPeriodeEssais() { getCollaborateurById(id : number) : Collaborateur{
this.periodeEssaiService.getPeriodeEssais() let collab = {} as Collaborateur;
.subscribe(periodeEssais => this.periodeEssais = periodeEssais); this.collaborateurs.forEach(c => {
} if (c.id==id){
collab= c;
add(periodeEssai: PeriodeEssai): void {
this.periodeEssaiService.addPeriodeEssai(periodeEssai)
.subscribe(periodeEssai => {
this.periodeEssais.push(periodeEssai);
});
}
onSubmit() {
this.submitted = true;
if (this.registerForm.invalid) {
return; return;
} }
this.periodeEssai.comment = this.registerForm.value.comment });
this.periodeEssai.collaborateurId = this.registerForm.value.collaborateurId
this.periodeEssai.issue = this.registerForm.value.issue
this.periodeEssai.plannedEndingDate = this.registerForm.value.plannedEndingDate
this.periodeEssai.realEndingDate = this.registerForm.value.realEndingDate
this.periodeEssai.startingDate = this.registerForm.value.startingDate
this.add(this.periodeEssai)
}
get f() { return this.registerForm.controls; }
onReset() {
this.submitted = false;
this.registerForm.reset();
}
onStartingDateChange($event: any):void {
this.periodeEssai.startingDate = new Date($event.target.value);
}
onPlannedEndingDateChange($event: any):void {
this.periodeEssai.plannedEndingDate = new Date($event.target.value);
}
onRealEndingDateChange($event: any):void { return collab;
this.periodeEssai.realEndingDate = new Date($event.target.value);
} }
getPeriodeEssais() {
this.periodeEssaiService.getPeriodeEssais()
showSuccess() { .subscribe(periodeEssais => this.periodeEssais = periodeEssais);
this.toastr.success('Création réussie', 'Collaborateur');
} }
showError() {
this.toastr.error('Création échouée', 'Collaborateur');
}
} }

@ -1,4 +1,4 @@
<h3>Ajouter un collaborateur : </h3> <h3>Ajouter un référencement : </h3>
<form [formGroup]="registerForm" (ngSubmit)="onSubmit()"> <form [formGroup]="registerForm" (ngSubmit)="onSubmit()">

@ -16,7 +16,6 @@ export class ReferencementAddComponent implements OnInit {
collaborateurs: Collaborateur[] = []; collaborateurs: Collaborateur[] = [];
collaborateur = {} as Collaborateur; collaborateur = {} as Collaborateur;
referencements: Referencement[] = [];
referencement = {} as Referencement; referencement = {} as Referencement;
errorValue: number = 0; errorValue: number = 0;
@ -35,7 +34,6 @@ export class ReferencementAddComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
this.getCollaborateurs(); this.getCollaborateurs();
this.getReferencements();
this.registerForm = this.formBuilder.group({ this.registerForm = this.formBuilder.group({
referredId: ['', Validators.required], referredId: ['', Validators.required],
referrerId: ['', Validators.required], referrerId: ['', Validators.required],
@ -55,11 +53,6 @@ export class ReferencementAddComponent implements OnInit {
.subscribe(collaborateurs => this.collaborateurs = collaborateurs); .subscribe(collaborateurs => this.collaborateurs = collaborateurs);
} }
getReferencements(): void {
this.referencementService.getReferencements()
.subscribe(referencement => this.referencements = referencement);
}
onSubmit() { onSubmit() {
this.submitted = true; this.submitted = true;
if (this.registerForm.invalid) { if (this.registerForm.invalid) {
@ -67,8 +60,7 @@ export class ReferencementAddComponent implements OnInit {
} }
this.referencement = this.registerForm.value this.referencement = this.registerForm.value
if (this.referencement) { if (this.referencement) {
this.referencementService.addReferencement(this.referencement).subscribe(referencement => { this.referencementService.addReferencement(this.referencement).subscribe(() => {
this.referencements.push(referencement);
this.showSuccess(); this.showSuccess();
}, },
() => { () => {

@ -40,6 +40,10 @@ export class ReferencementEditComponent implements OnInit {
this.id = Number(this.route.snapshot.paramMap.get('id')) this.id = Number(this.route.snapshot.paramMap.get('id'))
} }
get form() {
return this.registerForm.controls;
}
async ngOnInit() { async ngOnInit() {
this.getCollaborateurs(); this.getCollaborateurs();
this.registerForm = this.formBuilder.group({ this.registerForm = this.formBuilder.group({
@ -65,12 +69,14 @@ export class ReferencementEditComponent implements OnInit {
return; return;
} }
this.referencement.referredId = this.registerForm.value.referredId this.referencement.referredId = this.registerForm.value.referredId;
this.referencement.referrerId = this.registerForm.value.referrerId this.referencement.referrerId = this.registerForm.value.referrerId;
this.referencement.startingDate = this.registerForm.value.startingDate this.referencement.startingDate = this.registerForm.value.startingDate;
if (this.registerForm.value.endingDate == undefined) { if (this.registerForm.value.endingDate == undefined || this.registerForm.value.endingDate == '') {
this.referencement.endingDate = new Date() this.referencement.endingDate = null;
} else {
this.referencement.endingDate = this.registerForm.value.endingDate;
} }
if (this.referencement) { if (this.referencement) {
@ -84,10 +90,6 @@ export class ReferencementEditComponent implements OnInit {
} }
} }
get form() {
return this.registerForm.controls;
}
onReset() { onReset() {
this.submitted = false; this.submitted = false;
this.registerForm.reset(); this.registerForm.reset();

@ -3,7 +3,7 @@ export interface PeriodeEssai {
collaborateurId : number; collaborateurId : number;
startingDate : Date; startingDate : Date;
plannedEndingDate : Date; plannedEndingDate : Date;
realEndingDate : Date; realEndingDate : Date | null;
comment : string; comment : string;
issue : string; issue : string;
} }

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

Loading…
Cancel
Save