#1798 Fehlerdialog bei Remissionsstart mit bereits verwendeter Packstück-ID

This commit is contained in:
Lorenz Hilpert
2021-05-18 17:28:46 +02:00
parent b027c150e2
commit 7a55131d1f
2 changed files with 22 additions and 8 deletions

View File

@@ -10,6 +10,8 @@ import { RemissionService, ShippingDocument, RemissionProcess } from '@isa/remis
import { ErrorService } from 'apps/sales/src/app/core/error/component/error.service';
import { SetRemissionShippingDocument } from 'apps/sales/src/app/core/store/actions/remission.actions';
import { NativeContainerService } from 'shared/public_api';
import { HttpErrorResponse } from '@angular/common/http';
import { UiMessageModalComponent, UiModalService } from '@ui/modal';
@Component({
selector: 'app-shipping-document-creation',
@@ -37,7 +39,8 @@ export class ShippingDocumentCreationComponent implements OnInit {
private nativeService: NativeContainerService,
private remissionService: RemissionService,
private errorService: ErrorService,
private store: Store
private store: Store,
private modal: UiModalService
) {}
ngOnInit() {
@@ -47,7 +50,7 @@ export class ShippingDocumentCreationComponent implements OnInit {
}
shippingDocumentWithGeneratedId() {
this.createShippingDocument();
this.createShippingDocument('025325101901072971');
}
shippingDocumentScanned(receiptNumber: string) {
@@ -80,10 +83,22 @@ export class ShippingDocumentCreationComponent implements OnInit {
filter((shippingDocument) => !isNullOrUndefined(shippingDocument)),
catchError((error) => {
const invalidProperties =
error.invalidProperties && Object.keys(error.invalidProperties).length > 0
? JSON.stringify(error.invalidProperties)
: undefined;
this.errorService.addErrors(error.httpError.code, error.message, JSON.stringify(invalidProperties));
error.invalidProperties && Object.keys(error.invalidProperties).length > 0 ? error.invalidProperties : undefined;
const message = Object.values(invalidProperties).join('\n') || error.message;
if (error?.httpError?.code === 400) {
this.modal.open({
content: UiMessageModalComponent,
data: {
title: 'Warenbegleitschein kann nicht verwendet werden',
message,
closeAction: 'Erneut versuchen',
},
});
} else {
this.errorService.addErrors(error.httpError.code, error.message, message);
}
return of(undefined);
}),
take(1)

View File

@@ -6,9 +6,8 @@ import { UiModalRef } from './defs';
template: `
<h1 class="title">{{ modalRef.data.title }}</h1>
<p class="message">{{ modalRef.data.message }}</p>
<div class="actions">
<button (click)="modalRef.close()">Schließen</button>
<button (click)="modalRef.close()">{{ modalRef?.data?.closeAction || 'Schließen' }}</button>
</div>
`,
styleUrls: ['./modal.component.scss'],