Fix des champs non modifies non reconnus pour les businessUnits

pull/12/head
Clement FERRERE 2 years ago
parent 7aa43aafdd
commit b2339e34cd
  1. 12
      src/app/components/businessunit/businessunit-edit/businessunit-edit.component.html
  2. 61
      src/app/components/businessunit/businessunit-edit/businessunit-edit.component.ts
  3. 8
      src/app/services/businessunit.service.ts

@ -1,14 +1,17 @@
<div *ngIf="businessunit">
<h2>{{businessunit.name | uppercase}} </h2>
<div><span>id : </span>{{businessunit.id}}</div>
<h2>{{bu.name | uppercase}} </h2>
<div><span>id : </span>{{bu.id}}</div>
<form [formGroup]="registerForm" (ngSubmit)="onSubmit()" >
<form
*ngIf="businessunit | async;"
[formGroup]="registerForm"
(ngSubmit)="onSubmit()" >
<div class="form-group col-12 col-sm-6 col-md-4 col-lg-3 mb-2">
<label class="form-label">Nom</label>
<input class="form-control" formControlName="name" [ngClass]="{ 'is-invalid': submitted && f.name.errors }" [value]="businessunit.name">
<input class="form-control" formControlName="name" [ngClass]="{ 'is-invalid': submitted && f.name.errors }">
<div *ngIf="submitted && f.name.errors" class="invalid-feedback">
<div *ngIf="f.name.errors.required">Le nom d'une business unit est obligatoire</div>
</div>
@ -17,7 +20,6 @@
<div>
<button (click)="goBack()">Retour</button>
<button type="submit">Sauvegarder les changements</button>
<button (click)="delete()">Supprimer la business unit</button>
<button type="reset" (click)="onReset()">Effacer</button>
</div>
</form>

@ -4,8 +4,8 @@ import {ActivatedRoute} from "@angular/router";
import {BusinessunitService} from "../../../services/businessunit.service";
import {Location} from "@angular/common";
import {FormBuilder, FormGroup, Validators} from "@angular/forms";
import {Agence} from "../../../interfaces/agence";
import {AgenceService} from "../../../services/agence.service";
import {Observable} from "rxjs";
import {take, tap} from "rxjs/operators";
@Component({
selector: 'app-businessunit-edit',
@ -14,8 +14,9 @@ import {AgenceService} from "../../../services/agence.service";
})
export class BusinessunitEditComponent implements OnInit {
businessunit = {} as Businessunit ;
agences : Agence[] = [];
businessunit! : Observable<Businessunit> ;
bu! : Businessunit ;
id: number;
registerForm!: FormGroup;
@ -24,56 +25,34 @@ export class BusinessunitEditComponent implements OnInit {
constructor(
private route: ActivatedRoute,
private businessunitService: BusinessunitService,
private agenceService: AgenceService,
private location: Location,
private formBuilder: FormBuilder
) { }
) {
this.id = Number(this.route.snapshot.paramMap.get('id'))
}
ngOnInit(): void {
this.getBusinessunit();
this.getAgences();
async ngOnInit(): Promise<void> {
this.registerForm = this.formBuilder.group({
name: ['', Validators.required]
});
this.businessunit = this.businessunitService.getBusinessunit(this.id).pipe(tap(businessUnit => this.registerForm.patchValue(businessUnit)));
this.bu = await this.businessunit.pipe(take(1)).toPromise()
}
getAgences():void {
this.agenceService.getAgences()
.subscribe(agences => this.agences = agences);
}
getBusinessunit(): void {
const id = Number(this.route.snapshot.paramMap.get('id'))
this.businessunitService.getBusinessunit(id)
.subscribe(businessunit => this.businessunit = businessunit);
}
goBack(): void {
this.location.back();
}
save():void{
if (this.businessunit){
this.businessunitService.updateBusinessunit(this.businessunit)
.subscribe(()=>this.goBack());
async save() {
if (this.businessunit) {
this.businessunitService.updateBusinessunit(this.bu, this.id)
.subscribe(() => this.goBack());
}
}
delete():void {
if (this.businessunit){
this.businessunitService.deleteBusinessunit(this.businessunit)
.subscribe(()=>this.goBack());
}
}
onSubmit() {
async onSubmit() {
this.submitted = true;
if (this.registerForm.invalid) {
return;
}
this.businessunit.name = this.registerForm.value.name
this.save()
this.bu.name = this.registerForm.value.name
await this.save()
}
get f() { return this.registerForm.controls; }
@ -83,4 +62,8 @@ export class BusinessunitEditComponent implements OnInit {
this.registerForm.reset();
}
goBack(): void {
this.location.back();
}
}

@ -21,12 +21,12 @@ export class BusinessunitService {
}
getBusinessunit(id : number):Observable<Businessunit>{
return this.http.get<Businessunit>(this.businessunitsUrl+"/"+id);
return this.http.get<Businessunit>(this.businessunitsUrl + "/" + id);
}
updateBusinessunit(businessunit : Businessunit):Observable<Businessunit>{
let body = JSON.stringify(businessunit);
return this.http.put<Businessunit>(this.businessunitsUrl + "/" + businessunit.id, body, this.httpOptions);
updateBusinessunit(businessunit: Businessunit, id:number):Observable<Businessunit>{
let body= JSON.stringify(businessunit);
return this.http.put<Businessunit>(this.businessunitsUrl + "/" + id, body, this.httpOptions);
}
deleteBusinessunit(businessunit: Businessunit) {

Loading…
Cancel
Save