diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html index ed5faeb..7613cc9 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html @@ -10,7 +10,12 @@ >
- +

Gemensam planering för deltagare {{avrop.fullName}} är nu inskickad till Arbetsförmedlingen och inväntar godkännande. @@ -90,21 +95,32 @@

- - Tillbaka - - - Förhandsgranska - - - Bekräfta och skicka in - + +

Kunde inte spara gemensam planering. Ladda om sidan och försök igen.

+

{{error.message}}

+
+
+ + Tillbaka + + + Förhandsgranska + + + Bekräfta och skicka in + +
(null); + error$: Observable = this._error$.asObservable(); private _lastSubmittedGP$ = new BehaviorSubject(null); lastSubmittedGP$: Observable = this._lastSubmittedGP$.asObservable(); @@ -123,13 +127,12 @@ export class DeltagareGemensamPlaneringComponent { } closeConfirmDialogAndProceed(confirmDialogAnswer: ConfirmDialog, genomforandeReferens: number): void { + this.confirmDialogOpen = false; + if (confirmDialogAnswer === ConfirmDialog.ACCEPTED) { const distance = this.gpFormGroup.get('distance').value as boolean; const activityIds = this.gpFormGroup.get('activityIds').value as number[]; - void this.postGemensamPlanering({ distance, activityIds, genomforandeReferens }); - } else { - this.confirmDialogOpen = false; } } @@ -138,6 +141,10 @@ export class DeltagareGemensamPlaneringComponent { .postGemensamPlanering(mapGemensamPlaneringToGemensamPlaneringPostRequest(postRequest)) .then(() => { this._lastSubmittedGP$.next(new Date()); + this.currentStep = 3; + }) + .catch((error: Error) => { + this._error$.next(new CustomError({ error, message: error.message, type: ErrorType.API })); }); } } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/gemensam-planering.service.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/gemensam-planering.service.ts index acc100b..62c164c 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/gemensam-planering.service.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/gemensam-planering.service.ts @@ -3,25 +3,21 @@ import { Activity } from '@msfa-models/activity.model'; import { GemensamPlaneringPostRequest } from '@msfa-models/api/gemensam-planering.request.model'; import { Avrop } from '@msfa-models/avrop.model'; import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service'; -import { BehaviorSubject, Observable, of } from 'rxjs'; +import { Observable } from 'rxjs'; @Injectable({ providedIn: 'root', }) export class GemensamPlaneringService { public activities$: Observable = this.gemensamPlaneringApiService.fetchActivities$(); - private _error$ = new BehaviorSubject(null); - public error$: Observable = this._error$.asObservable(); + + constructor(private gemensamPlaneringApiService: GemensamPlaneringApiService) {} public fetchAvropInformation$(genomforandeReferens: number): Observable { return this.gemensamPlaneringApiService.fetchAvropInformation$(genomforandeReferens); } public async postGemensamPlanering(requestData: GemensamPlaneringPostRequest): Promise { - // TODO: When API has been updated we can activate the real post - return of(undefined as void).toPromise(); - return this.gemensamPlaneringApiService.postGemensamPlanering(requestData); + return this.gemensamPlaneringApiService.postGemensamPlanering$(requestData); } - - constructor(private gemensamPlaneringApiService: GemensamPlaneringApiService) {} } diff --git a/apps/mina-sidor-fa/src/app/shared/services/api/gemensam-planering-api.service.ts b/apps/mina-sidor-fa/src/app/shared/services/api/gemensam-planering-api.service.ts index ff6d70c..d60afa1 100644 --- a/apps/mina-sidor-fa/src/app/shared/services/api/gemensam-planering-api.service.ts +++ b/apps/mina-sidor-fa/src/app/shared/services/api/gemensam-planering-api.service.ts @@ -32,17 +32,8 @@ export class GemensamPlaneringApiService { return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens); } - public async postGemensamPlanering(requestData: GemensamPlaneringPostRequest): Promise { - return this.httpClient - .post(`${this._apiBaseUrl}`, requestData) - .pipe( - catchError((error: Error & { status: number }) => { - throw new CustomError( - errorToCustomError({ ...error, message: `Kunde inte spara gemensam planering.\n\n${error.message}` }) - ); - }) - ) - .toPromise(); + public async postGemensamPlanering$(requestData: GemensamPlaneringPostRequest): Promise { + return this.httpClient.post(`${this._apiBaseUrl}`, requestData).toPromise(); } constructor(private httpClient: HttpClient, private deltagareApiService: DeltagareApiService) {} diff --git a/apps/mina-sidor-fa/src/styles/styles.scss b/apps/mina-sidor-fa/src/styles/styles.scss index 134b976..4d7a880 100644 --- a/apps/mina-sidor-fa/src/styles/styles.scss +++ b/apps/mina-sidor-fa/src/styles/styles.scss @@ -72,7 +72,7 @@ dl { } &__small-text { - font-size: 0.875rem !important; + font-size: 0.875em !important; } &__backdrop { diff --git a/config/proxy.conf.json b/config/proxy.conf.json index 2aee625..a7d9746 100644 --- a/config/proxy.conf.json +++ b/config/proxy.conf.json @@ -1,9 +1,4 @@ { - "/api/rapporter/gemensam-planering": { - "target": "https://mina-sidor-fa-utv.tocp.arbetsformedlingen.se", - "secure": false, - "changeOrigin": true - }, "/api": { "target": "https://mina-sidor-fa-test.tocp.arbetsformedlingen.se", "secure": false,