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 16b80795badedc60e5a7b643e126dabb3d3633ac..6a81e97d96696ea48494a3f1a92e5dc6352f787a 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 15eecc033322ead27bdc77198c515c8f378fd296..abbd5b7477594358372d84b960f2865ac0914c28 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 b955edd081d22fcb3c51cc0c5930e85e3c722119..1b4b60e933fd67a590d9fe412d6aebd0281f08fa 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 c7cc576f9f71194340ff7d835097e7a358634656..975a302de8c93df41584b7eb828699a839f8a37b 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) {