Test référencement add

pull/17/head
Clement FERRERE 2 years ago
parent 288809bf5b
commit 4b025d3502
  1. 6
      src/app/app-routing.module.ts
  2. 13
      src/app/app.component.html
  3. 56
      src/app/components/referencement/referencement-add/referencement-add.component.html
  4. 94
      src/app/components/referencement/referencement-add/referencement-add.component.ts
  5. 2
      src/app/services/agence.service.ts
  6. 2
      src/app/services/businessunit.service.ts
  7. 2
      src/app/services/collaborateur.service.ts
  8. 2
      src/app/services/periode-essai.service.ts
  9. 43
      src/app/services/referencement.service.ts
  10. 2
      src/ressources/routes/routes.ts
  11. 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 {PeriodeEssaiEditComponent} from "./components/periode-essai/periode-essai-edit/periode-essai-edit.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 = [
{path:'', redirectTo:'/home', pathMatch:'full'},
@ -17,6 +20,9 @@ const routes : Routes = [
{ path:'collaborateurs',component:CollaborateurComponent, data:{title:'Collaborateurs'} },
{ path:'collaborateurs/add',component:CollaborateurAddComponent, 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/:id', component: AgenceEditComponent, data:{title:'Agences'} },
{ path:'businessunits',component:BusinessunitComponent, data:{title:'BusinessUnits'} },

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

@ -1 +1,55 @@
<p>referencement-add works!</p>
<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}} </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}} </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>

@ -1,4 +1,11 @@
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',
@ -7,9 +14,94 @@ import { Component, OnInit } from '@angular/core';
})
export class ReferencementAddComponent implements OnInit {
constructor() { }
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');
}
}

@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
import {HttpClient, HttpHeaders} from "@angular/common/http";
import {Observable} from "rxjs";
import {Agence} from "../interfaces/agence";
import {agencesUrl} from "../../ressources/routes/routesPreprod";
import {agencesUrl} from "../../ressources/routes/routes";
@Injectable({
providedIn: 'root'

@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
import {HttpClient, HttpHeaders} from "@angular/common/http";
import {Observable} from "rxjs";
import {Businessunit} from "../interfaces/businessunit";
import {businessunitsUrl} from "../../ressources/routes/routesPreprod";
import {businessunitsUrl} from "../../ressources/routes/routes";
@Injectable({
providedIn: 'root'

@ -2,7 +2,7 @@ import {Collaborateur} from "../interfaces/collaborateur";
import {Injectable} from '@angular/core';
import {Observable} from "rxjs";
import {HttpClient, HttpHeaders} from "@angular/common/http";
import {collaborateursUrl} from "../../ressources/routes/routesPreprod";
import {collaborateursUrl} from "../../ressources/routes/routes";
@Injectable({providedIn: 'root'})

@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import {HttpClient, HttpHeaders} from "@angular/common/http";
import {Observable} from "rxjs";
import {periodeessaisUrl} from "../../ressources/routes/routesPreprod";
import {periodeessaisUrl} from "../../ressources/routes/routes";
import {PeriodeEssai} from "../interfaces/periode-essai";

@ -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/routes";
@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 agencesUrl = 'https://localhost:5001/api/agences';
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 businessunitsUrl = 'https://collaborateur-epa.apsdigit.lan/api/businessunits';
export const periodeessaisUrl = 'https://collaborateur-epa.apsdigit.lan/api/periodeessais';
export const referencementsUrl = 'https://collaborateur-epa.apsdigit.lan/api/referencements';

Loading…
Cancel
Save