From 30f0d928305c8f9f2476829ac30e2c0d70dd746a Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Fri, 25 Sep 2020 16:20:07 +0200 Subject: [PATCH] FEAT #14002 TIME 0:15 fix issuing site empty value --- .../issuing-site-input.component.html | 2 +- .../indexing/issuing-site-input.component.ts | 25 ++++++++++++------- .../indexing-form.component.html | 2 +- .../registered-mail-import.component.ts | 2 +- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.html b/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.html index 16b80795bad..6a81e97d966 100644 --- a/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.html +++ b/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.html @@ -2,7 +2,7 @@ <plugin-select-search *ngIf="!loading" [label]="'lang.issuingSite' | translate" [placeholderLabel]="'lang.issuingSite' | translate" - [formControlSelect]="control" [datas]="issuingSiteList" + [formControlSelect]="control" [showResetOption]="showResetOption" [datas]="issuingSiteList" (afterSelected)="afterSelected.emit($event);setAddress($event)" style="width:100%;"> </plugin-select-search> <mat-card *ngIf="issuingSiteAddress !== null" color="primary"> diff --git a/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.ts b/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.ts index 15eecc03332..abbd5b74775 100644 --- a/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.ts +++ b/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.ts @@ -28,8 +28,11 @@ export class IssuingSiteInputComponent implements OnInit { * FormControl used when autocomplete is used in form and must be catched in a form control. */ @Input() control: FormControl = new FormControl(''); + @Input() registedMailType: string = null; + @Input() showResetOption: boolean = false; + @Output() afterSelected = new EventEmitter<string>(); @@ -75,15 +78,19 @@ export class IssuingSiteInputComponent implements OnInit { } setAddress(id: any) { - this.http.get(`../rest/registeredMail/sites/${id}`).pipe( - tap((data: any) => { - this.issuingSiteAddress = data['site']; - }), - catchError((err: any) => { - this.notify.handleSoftErrors(err); - return of(false); - }) - ).subscribe(); + if (id === null) { + this.issuingSiteAddress = null; + } else { + this.http.get(`../rest/registeredMail/sites/${id}`).pipe( + tap((data: any) => { + this.issuingSiteAddress = data['site']; + }), + catchError((err: any) => { + this.notify.handleSoftErrors(err); + return of(false); + }) + ).subscribe(); + } } goTo() { diff --git a/src/frontend/app/indexation/indexing-form/indexing-form.component.html b/src/frontend/app/indexation/indexing-form/indexing-form.component.html index b955edd081d..1b4b60e933f 100644 --- a/src/frontend/app/indexation/indexing-form/indexing-form.component.html +++ b/src/frontend/app/indexation/indexing-form/indexing-form.component.html @@ -208,7 +208,7 @@ </app-contact-autocomplete> </ng-container> <ng-container *ngIf="field.identifier === 'registeredMail_issuingSite'"> - <app-issuing-site-input #appIssuingSiteInput [registedMailType]="arrFormControl['registeredMail_type'].value" [control]="arrFormControl[field.identifier]" (afterSelected)="launchEvent($event, field)" style="width:100%;"> + <app-issuing-site-input #appIssuingSiteInput [registedMailType]="arrFormControl['registeredMail_type'].value" [control]="arrFormControl[field.identifier]" [showResetOption]="adminMode || !field.mandatory" (afterSelected)="launchEvent($event, field)" style="width:100%;"> </app-issuing-site-input> </ng-container> <ng-container *ngIf="field.identifier === 'registeredMail_recipient'"> diff --git a/src/frontend/app/registeredMail/import/registered-mail-import.component.ts b/src/frontend/app/registeredMail/import/registered-mail-import.component.ts index c7cc576f9f7..975a302de8c 100644 --- a/src/frontend/app/registeredMail/import/registered-mail-import.component.ts +++ b/src/frontend/app/registeredMail/import/registered-mail-import.component.ts @@ -198,7 +198,7 @@ export class RegisteredMailImportComponent implements OnInit { } getLabel(id: string, value: any) { - if (id === 'registeredMail_issuingSite') { + if (id === 'registeredMail_issuingSite' && !this.functionsService.empty(value)) { const sites = this.contactColumns.filter((col: any) => col.id === 'registeredMail_issuingSite')[0].values; return sites.filter((site: any) => site.id === value)[0].label; } else if ([true, false].indexOf(value) > -1) { -- GitLab