BP 660: changed error handling
diff --git a/src/app/core/components/error/error.component.html b/src/app/core/components/error/error.component.html
index de4ea0d..82a26fa 100644
--- a/src/app/core/components/error/error.component.html
+++ b/src/app/core/components/error/error.component.html
@@ -11,7 +11,7 @@
 -->
 <p-toast class="mt-5" baseZIndex="1060"></p-toast>
 <p *ngIf="errorMessage">
-  <ngb-alert [dismissible]="false" type="danger">
-    <strong>Fehler {{errorMessage.httpStatus}}:</strong> {{errorMessage.message}}
+  <ngb-alert [dismissible]="false" type="danger" *ngFor="let error of errorMessage">
+    <strong>Fehler {{error.httpStatus}}:</strong> {{error.message}}
   </ngb-alert>
 </p>
\ No newline at end of file
diff --git a/src/app/core/components/error/error.component.ts b/src/app/core/components/error/error.component.ts
index 28cce22..4e0e61a 100644
--- a/src/app/core/components/error/error.component.ts
+++ b/src/app/core/components/error/error.component.ts
@@ -19,7 +19,7 @@
   styleUrls: ['./error.component.scss']
 })
 export class ErrorComponent implements OnInit {
-  errorMessage: ErrorObject;
+  errorMessage: ErrorObject[];
   constructor(
     public utilService: UtilService,
     private ref: ChangeDetectorRef,
diff --git a/src/app/core/interceptors/error.interceptor.ts b/src/app/core/interceptors/error.interceptor.ts
index ffb623e..8b23952 100644
--- a/src/app/core/interceptors/error.interceptor.ts
+++ b/src/app/core/interceptors/error.interceptor.ts
@@ -8,37 +8,47 @@
  * SPDX-License-Identifier: EPL-2.0
  ********************************************************************************/
 import { Injectable, ErrorHandler, Injector } from '@angular/core';
+import { HttpErrorResponse } from '@angular/common/http';
+
+import { MessageService } from 'primeng/components/common/messageservice';
+
 import { UtilService } from '@core/services/util.service';
 import { ErrorObject } from '@shared/model/ErrorObject';
-import { HttpErrorResponse } from '@angular/common/http';
 
 @Injectable()
 export class ErrorInterceptor implements ErrorHandler {
 
   constructor(
-    private injector: Injector
+    private injector: Injector,
+    private messageService: MessageService
   ) { }
 
 
   handleError(httpErrorResponse: HttpErrorResponse) {
     const utilService = this.injector.get(UtilService);
-
-    let errorMessage: ErrorObject = {
-      httpStatus: httpErrorResponse.error.httpStatus,
-      message: httpErrorResponse.error.message,
-      localizedMessage: httpErrorResponse.error.localizedMessage
-    };
-    if (errorMessage.httpStatus === undefined) {
-      errorMessage.httpStatus = httpErrorResponse.status;
-      errorMessage.message = httpErrorResponse.statusText;
-      errorMessage.localizedMessage = httpErrorResponse.statusText;
-    }
-
-
-    const encodedString = String.fromCharCode.apply(null, new Uint8Array(httpErrorResponse.error));
-    const decodedString = decodeURIComponent(escape(encodedString));
-    if (decodedString) {
-      errorMessage = JSON.parse(decodedString);
+    let errorMessage: ErrorObject[];
+    if (Array.isArray(httpErrorResponse.error)) { // should be any kind of validation error
+      httpErrorResponse.error.forEach(error => {
+        error.httpStatus = httpErrorResponse.status;
+      });
+      errorMessage = httpErrorResponse.error;
+    } else if (httpErrorResponse.error.byteLength !== undefined) { // reports error
+      const encodedString = String.fromCharCode.apply(null, new Uint8Array(httpErrorResponse.error));
+      const decodedString = decodeURIComponent(escape(encodedString));
+      if (decodedString) {
+        errorMessage = [JSON.parse(decodedString)];
+      }
+    } else { // any other error
+      errorMessage = [{
+        httpStatus: httpErrorResponse.error.httpStatus,
+        message: httpErrorResponse.error.message,
+        localizedMessage: httpErrorResponse.error.localizedMessage
+      }];
+      if (errorMessage[0].httpStatus === undefined) {
+        errorMessage[0].httpStatus = httpErrorResponse.status;
+        errorMessage[0].message = httpErrorResponse.statusText;
+        errorMessage[0].localizedMessage = httpErrorResponse.statusText;
+      }
     }
 
     utilService.throwError(errorMessage);
diff --git a/src/app/core/services/util.service.ts b/src/app/core/services/util.service.ts
index 70bd8f6..9ba13fc 100644
--- a/src/app/core/services/util.service.ts
+++ b/src/app/core/services/util.service.ts
@@ -18,7 +18,7 @@
   providedIn: 'root'
 })
 export class UtilService {
-  error$: Subject<ErrorObject> = new Subject();
+  error$: Subject<ErrorObject[]> = new Subject();
   loadingState$: BehaviorSubject<boolean> = new BehaviorSubject(false);
 
   constructor(
@@ -34,7 +34,7 @@
     }
   }
 
-  throwError(errorObject: ErrorObject) {
+  throwError(errorObject: ErrorObject[]) {
     this.error$.next(errorObject);
   }
 
diff --git a/src/app/masterdata-management/components/organisation/organisation.component.html b/src/app/masterdata-management/components/organisation/organisation.component.html
index 0505cc5..33d0596 100644
--- a/src/app/masterdata-management/components/organisation/organisation.component.html
+++ b/src/app/masterdata-management/components/organisation/organisation.component.html
@@ -108,21 +108,21 @@
             <div class="row">
               <div class="col-md-6">
                 <div class="form-group row">
-                  <label for="latitude" class="col-sm-3 col-form-label">WGS84 Koordinate 1 dienstl. (geolänge)</label>
+                  <label for="longitude" class="col-sm-3 col-form-label">WGS84 Koordinate 1 dienstl. (geolänge)</label>
                   <div class="col-sm-9">
-                    <input type="text" class="form-control" id="latitude" placeholder="latitude" formControlName="latitude"
+                    <input type="text" class="form-control" id="longitude" placeholder="longitude" formControlName="longitude"
                       required>
-                    <ok-error [control]="form.controls.address.controls['latitude']"></ok-error>
+                    <ok-error [control]="form.controls.address.controls['longitude']"></ok-error>
                   </div>
                 </div>
               </div>
               <div class="col-md-6">
                 <div class="form-group row">
-                  <label for="longitude" class="col-sm-3 col-form-label">WGS84 Koordinate 2 dienstl. (geobreite)</label>
+                  <label for="latitude" class="col-sm-3 col-form-label">WGS84 Koordinate 2 dienstl. (geobreite)</label>
                   <div class="col-sm-9">
-                    <input type="text" class="form-control" id="longitude" placeholder="longitude" formControlName="longitude"
+                    <input type="text" class="form-control" id="latitude" placeholder="latitude" formControlName="latitude"
                       required>
-                    <ok-error [control]="form.controls.address.controls['longitude']"></ok-error>
+                    <ok-error [control]="form.controls.address.controls['latitude']"></ok-error>
                   </div>
                 </div>
               </div>
diff --git a/src/app/masterdata-management/components/user/user.component.html b/src/app/masterdata-management/components/user/user.component.html
index 2ff0819..7261d09 100644
--- a/src/app/masterdata-management/components/user/user.component.html
+++ b/src/app/masterdata-management/components/user/user.component.html
@@ -224,17 +224,17 @@
               <div class="row">
                 <div class="col-md-6">
                   <div class="form-group row">
-                    <label for="latitude" class="col-sm-3 col-form-label">WGS84 Koordinate 1 dienstl. (geolänge)</label>
+                    <label for="longitude" class="col-sm-3 col-form-label">WGS84 Koordinate 1 dienstl. (geolänge)</label>
                     <div class="col-sm-9">
-                      <input type="text" class="form-control" id="latitude" formControlName="latitude" required>
+                      <input type="text" class="form-control" id="longitude" formControlName="longitude" required>
                     </div>
                   </div>
                 </div>
                 <div class="col-md-6">
                   <div class="form-group row">
-                    <label for="longitude" class="col-sm-3 col-form-label">WGS84 Koordinate 2 dienstl. (geobreite)</label>
+                    <label for="latitude" class="col-sm-3 col-form-label">WGS84 Koordinate 2 dienstl. (geobreite)</label>
                     <div class="col-sm-9">
-                      <input type="text" class="form-control" id="longitude" formControlName="longitude" required>
+                      <input type="text" class="form-control" id="latitude" formControlName="latitude" required>
                     </div>
                   </div>
                 </div>
diff --git a/src/app/reporting/components/standby-reporting/standby-reporting.component.ts b/src/app/reporting/components/standby-reporting/standby-reporting.component.ts
index 2d52a5b..1cf41bf 100644
--- a/src/app/reporting/components/standby-reporting/standby-reporting.component.ts
+++ b/src/app/reporting/components/standby-reporting/standby-reporting.component.ts
@@ -62,6 +62,7 @@
   generate() {
     if (FormUtil.validate(this.form)) {
       const formValue = this.form.getRawValue();
+      FormUtil.formatDates(formValue, ['validFrom', 'validTo']);
       const object = {
         validFrom: formValue.validFrom,
         validTo: formValue.validTo,
@@ -73,7 +74,6 @@
         object['standByListId'] = formValue['standById'];
       }
 
-      FormUtil.formatDates(object, ['validFrom', 'validTo']);
       this.reportingService.generateReport(object, formValue).subscribe(response => {
         let mimeType = '';