[KON-289] comments from smoke test and dev code review
Signed-off-by: Peter Buschmann <peter.buschmann@pta.de>
diff --git a/i18n/general.de.json b/i18n/general.de.json
index 469d584..c7717de 100644
--- a/i18n/general.de.json
+++ b/i18n/general.de.json
@@ -2,6 +2,7 @@
"ServerError401": "Zugriff nicht erlaubt.Bitte einloggen",
"ServerError403": "Zugriffe verweigert. Bitte geben Sie korrekte Daten an.",
"ServerError404": "Nicht gefunden. Bitte kontaktieren Sie den Administrator.",
+ "ServerError409": "Die Aktion kann nicht durchgeführt werden, weil eine Abhängigkeit zu einem anderen Datensatz existiert.",
"ServerError500": "Ein Fehler ist aufgetreten. Bitte kontaktieren Sie den Administrator.",
"SuccessNotificationTitle": "Erfolg",
"ErrorNotificationTitle": "Fehler",
diff --git a/src/app/pages/admin/person-types/person-types-api-client.ts b/src/app/pages/admin/person-types/person-types-api-client.ts
index 1e9d5f4..7d1e921 100644
--- a/src/app/pages/admin/person-types/person-types-api-client.ts
+++ b/src/app/pages/admin/person-types/person-types-api-client.ts
@@ -13,13 +13,13 @@
@GET('/personTypes')
@Adapter(PersonTypesService.gridAdapter)
- public getPersonTypes(): Observable<any> {
+ public getPersonTypes(): Observable<PersonType[]> {
return null;
}
@GET('/personTypes/{id}')
@Adapter(PersonTypesService.itemAdapter)
- public getPersonTypeDetails(@Path('id') id: string): Observable<any> {
+ public getPersonTypeDetails(@Path('id') id: string): Observable<PersonType> {
return null;
}
diff --git a/src/app/pages/admin/person-types/person-types.sandbox.spec.ts b/src/app/pages/admin/person-types/person-types.sandbox.spec.ts
index 21e4abf..ca69f30 100644
--- a/src/app/pages/admin/person-types/person-types.sandbox.spec.ts
+++ b/src/app/pages/admin/person-types/person-types.sandbox.spec.ts
@@ -47,11 +47,6 @@
expect(appState.dispatch).toHaveBeenCalledWith(personTypesActions.loadPersonType({ payload: 'x' }));
});
- it('should call dispatch for saving an item', () => {
- service.savePersonType();
- expect(appState.dispatch).toHaveBeenCalledWith(new MarkAsTouchedAction(personTypesFormReducer.FORM_ID));
- });
-
it('should clear form via clear()', () => {
service['clear']();
expect(service.displayForm).toBe(false);
diff --git a/src/app/pages/admin/person-types/person-types.sandbox.ts b/src/app/pages/admin/person-types/person-types.sandbox.ts
index dfd16d7..d6cb5f9 100644
--- a/src/app/pages/admin/person-types/person-types.sandbox.ts
+++ b/src/app/pages/admin/person-types/person-types.sandbox.ts
@@ -25,6 +25,7 @@
import { takeUntil, take } from 'rxjs/operators';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { SafetyQueryDialogComponent } from '@shared/components/dialogs/safety-query-dialog/safety-query-dialog.component';
+import { ILoadPersonTypesSuccess } from '@app/shared/store/actions/admin/person-types.action';
@Injectable()
export class PersonTypesSandbox extends BaseSandbox {
@@ -50,7 +51,7 @@
this.displayForm = true;
}
- public loadPersonTypes(): Observable<any> {
+ public loadPersonTypes(): Observable<ILoadPersonTypesSuccess> {
this.appState$.dispatch(personTypesActions.loadPersonTypes());
return this.actionsSubject.pipe(ofType(personTypesActions.loadPersonTypesSuccess), take(1));
}
@@ -99,7 +100,6 @@
}
public savePersonType(): void {
- this.appState$.dispatch(new MarkAsTouchedAction(personTypesFormReducer.FORM_ID));
if (this.currentFormState.isValid) {
this.appState$.dispatch(
personTypesActions.savePersonType({
diff --git a/src/app/shared/asyncServices/http/httpResponseHandler.service.ts b/src/app/shared/asyncServices/http/httpResponseHandler.service.ts
index f021a02..eb5da94 100644
--- a/src/app/shared/asyncServices/http/httpResponseHandler.service.ts
+++ b/src/app/shared/asyncServices/http/httpResponseHandler.service.ts
@@ -51,6 +51,10 @@
this.handleNotFound(response);
break;
+ case 409:
+ this.handleRefExists();
+ break;
+
case 500:
this.handleServerError();
break;
@@ -119,6 +123,16 @@
}
/**
+ * Shows notification errors when server response status is 409
+ */
+ private handleRefExists(): void {
+ const message: any = this.translateService.instant('ServerError409'),
+ title = this.translateService.instant('ErrorNotificationTitle');
+
+ this.showNotificationError(title, message);
+ }
+
+ /**
* Shows notification errors when server response status is 500
*/
private handleServerError(): void {