@dsivd/prestations-ng 15.1.3 → 15.2.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -320,9 +320,11 @@ class ApplicationInfoService {
320
320
  return this.data.pipe(map(appInfo => appInfo.configuration?.portail?.cyberLoginUrl ||
321
321
  `${this.getPortailBaseUrl(appInfo)}100018/`));
322
322
  }
323
- getSafeSupportFormUrl() {
323
+ getSafeSupportFormUrl(reference) {
324
324
  return this.data.pipe(map(appInfo => appInfo.configuration?.portail?.supportFormUrl ||
325
- `${this.getPortailBaseUrl(appInfo)}pub/101098/`));
325
+ `${this.getPortailBaseUrl(appInfo)}pub/101098/`), map(link => !!reference?.length
326
+ ? `${link}?concernedReference=${reference}`
327
+ : link));
326
328
  }
327
329
  getSafeSupportFormTitle() {
328
330
  return this.data.pipe(map(appInfo => {
@@ -585,6 +587,14 @@ class GesdemHandlerService {
585
587
  url = `${url}/validated/${reference}`;
586
588
  return this.http.get(url).pipe(tap(this.emitResponse.bind(this)), map(() => true), catchError((response) => this.handleGesdemError(reference, response)));
587
589
  }
590
+ retrieveActionStatut(reference) {
591
+ let url = 'api';
592
+ if (this.prefix) {
593
+ url = `api/${this.prefix}`;
594
+ }
595
+ url = `${url}/${reference}/action-statut`;
596
+ return this.http.get(url).pipe(map(status => status), catchError((response) => this.handleGesdemError(reference, response)));
597
+ }
588
598
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
589
599
  postToUrl(form, url) {
590
600
  if (this._lastResponse && this._lastResponse.meta.reference) {
@@ -1477,7 +1487,15 @@ const DEFAULT_DICTIONARY = {
1477
1487
  'foehn-agenda-navigation.next-week': 'Semaine suivante',
1478
1488
  'foehn-agenda-navigation.next-week-sr-only': 'Semaine suivante : {nextWeek}',
1479
1489
  'foehn-agenda-navigation.nav.aria-label': 'Changer de semaine',
1480
- 'foehn-agenda-navigation.date-picker-button.screen-reader.selected-date': 'Semaine du {selectedDate} sélectionnée'
1490
+ 'foehn-agenda-navigation.date-picker-button.screen-reader.selected-date': 'Semaine du {selectedDate} sélectionnée',
1491
+ 'gesdem-error.text.has-reference': 'Vous pouvez essayer de reprendre votre demande en cliquant sur le lien ci-dessous',
1492
+ 'gesdem-error.link.has-reference': 'Reprendre ma demande',
1493
+ 'gesdem-error.text.has-no-reference': 'Vous pouvez recommencer une demande en cliquant sur le lien ci-dessous',
1494
+ 'gesdem-error.link.has-no-reference': 'Recommencer',
1495
+ 'gesdem-error.text.pending-payment': '<p>Un problème est survenu lors de la transmission de votre demande.</p>' +
1496
+ '<p><strong>Merci de ne pas refaire une nouvelle demande tout de suite.</strong></p>' +
1497
+ "<p>Sans confirmation de la transmission de votre demande dans un délai d'un jour, " +
1498
+ 'nous vous prions de <a href="{supportLink}" target="_blank">contacter le support</a>.'
1481
1499
  };
1482
1500
 
1483
1501
  const DICTIONARY_BASE_URL = 'api/dictionary';
@@ -3322,20 +3340,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImpor
3322
3340
  }] } });
3323
3341
 
3324
3342
  class GesdemErrorComponent {
3325
- constructor(activatedRoute, navigation, gesdemService, foehnPageService, supportAlertService) {
3343
+ constructor(activatedRoute, navigation, gesdemService, gesdemEventService, foehnPageService, supportAlertService, applicationInfoService) {
3326
3344
  this.activatedRoute = activatedRoute;
3327
3345
  this.navigation = navigation;
3328
3346
  this.gesdemService = gesdemService;
3347
+ this.gesdemEventService = gesdemEventService;
3329
3348
  this.foehnPageService = foehnPageService;
3330
3349
  this.supportAlertService = supportAlertService;
3350
+ this.applicationInfoService = applicationInfoService;
3331
3351
  this.setPageTitle = true;
3332
3352
  this.hasSessionExpired = false;
3333
3353
  const route = FoehnNavigationService.getRootRouteRecursive(activatedRoute.snapshot);
3334
3354
  navigation.initRoute(route);
3335
3355
  this.link = this.getBasePath();
3356
+ this.reference = this.activatedRoute.snapshot.params.reference;
3357
+ this.supportLink = this.applicationInfoService.getSafeSupportFormUrl(this.reference);
3358
+ if (!this.reference?.length) {
3359
+ this.isPendingPayment = of(false);
3360
+ }
3361
+ else {
3362
+ this.isPendingPayment = this.gesdemService
3363
+ .retrieveActionStatut(this.reference)
3364
+ .pipe(tap(statut => {
3365
+ if (GesdemStatutUtils.isFinal(statut)) {
3366
+ this.navigation.last();
3367
+ }
3368
+ }), map(statut => statut === ActionStatut.PENDING_PAYMENT), catchError(() => of(false)));
3369
+ }
3336
3370
  }
3337
3371
  ngOnInit() {
3338
- this.reference = this.activatedRoute.snapshot.params.reference;
3339
3372
  if (this.reference) {
3340
3373
  const firstPage = this.getFirstPage();
3341
3374
  if (this.gesdemService.prefix) {
@@ -3366,12 +3399,12 @@ class GesdemErrorComponent {
3366
3399
  return '/';
3367
3400
  }
3368
3401
  }
3369
- GesdemErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: GesdemErrorComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: FoehnNavigationService }, { token: GesdemHandlerService }, { token: FoehnPageService }, { token: SupportAlertService }], target: i0.ɵɵFactoryTarget.Component });
3370
- GesdemErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: GesdemErrorComponent, selector: "gesdem-error", inputs: { setPageTitle: "setPageTitle" }, ngImport: i0, template: "<div class=\"vd-card mb-3\" *ngIf=\"!hasSessionExpired\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <div class=\"card-body\">\n <p class=\"card-text vd-card-text\">\n {{\n !!reference\n ? 'Vous pouvez essayer de reprendre votre demande en cliquant sur le lien ci-dessous'\n : 'Vous pouvez recommencer une demande en cliquant sur le lien ci-dessous'\n }}\n </p>\n <ul class=\"vd-list-links\">\n <li>\n <a [href]=\"link\">\n {{\n !!reference\n ? 'Reprendre ma demande'\n : 'Recommencer'\n }}\n </a>\n </li>\n </ul>\n <foehn-debug-summary></foehn-debug-summary>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<gesdem-action-recovery-login\n *ngIf=\"hasSessionExpired\"\n [reference]=\"reference\"\n [redirectTarget]=\"link\"\n></gesdem-action-recovery-login>\n", components: [{ type: FoehnDebugSummaryComponent, selector: "foehn-debug-summary" }, { type: GesdemActionRecoveryLoginComponent, selector: "gesdem-action-recovery-login", inputs: ["reference", "redirectTarget"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3402
+ GesdemErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: GesdemErrorComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: FoehnNavigationService }, { token: GesdemHandlerService }, { token: GesdemEventService }, { token: FoehnPageService }, { token: SupportAlertService }, { token: ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Component });
3403
+ GesdemErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: GesdemErrorComponent, selector: "gesdem-error", inputs: { setPageTitle: "setPageTitle" }, ngImport: i0, template: "<div class=\"vd-card mb-3\" *ngIf=\"!hasSessionExpired\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <div class=\"card-body\">\n <ng-container *ngIf=\"(isPendingPayment | async) === true\">\n <p\n class=\"card-text vd-card-text alert alert-danger\"\n [innerHTML]=\"\n 'gesdem-error.text.pending-payment'\n | fromDictionary\n : {\n supportLink: (supportLink | async)\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(isPendingPayment | async) === false\">\n <p class=\"card-text vd-card-text\">\n {{\n (!!reference\n ? 'gesdem-error.text.has-reference'\n : 'gesdem-error.text.has-no-reference'\n ) | fromDictionary\n }}\n </p>\n <ul class=\"vd-list-links\">\n <li>\n <a [href]=\"link\">\n {{\n (!!reference\n ? 'gesdem-error.link.has-reference'\n : 'gesdem-error.link.has-no-reference'\n ) | fromDictionary\n }}\n </a>\n </li>\n </ul>\n </ng-container>\n\n <foehn-debug-summary></foehn-debug-summary>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<gesdem-action-recovery-login\n *ngIf=\"hasSessionExpired\"\n [reference]=\"reference\"\n [redirectTarget]=\"link\"\n></gesdem-action-recovery-login>\n", components: [{ type: FoehnDebugSummaryComponent, selector: "foehn-debug-summary" }, { type: GesdemActionRecoveryLoginComponent, selector: "gesdem-action-recovery-login", inputs: ["reference", "redirectTarget"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "fromDictionary": SdkDictionaryPipe } });
3371
3404
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: GesdemErrorComponent, decorators: [{
3372
3405
  type: Component,
3373
- args: [{ selector: 'gesdem-error', template: "<div class=\"vd-card mb-3\" *ngIf=\"!hasSessionExpired\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <div class=\"card-body\">\n <p class=\"card-text vd-card-text\">\n {{\n !!reference\n ? 'Vous pouvez essayer de reprendre votre demande en cliquant sur le lien ci-dessous'\n : 'Vous pouvez recommencer une demande en cliquant sur le lien ci-dessous'\n }}\n </p>\n <ul class=\"vd-list-links\">\n <li>\n <a [href]=\"link\">\n {{\n !!reference\n ? 'Reprendre ma demande'\n : 'Recommencer'\n }}\n </a>\n </li>\n </ul>\n <foehn-debug-summary></foehn-debug-summary>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<gesdem-action-recovery-login\n *ngIf=\"hasSessionExpired\"\n [reference]=\"reference\"\n [redirectTarget]=\"link\"\n></gesdem-action-recovery-login>\n" }]
3374
- }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: FoehnNavigationService }, { type: GesdemHandlerService }, { type: FoehnPageService }, { type: SupportAlertService }]; }, propDecorators: { setPageTitle: [{
3406
+ args: [{ selector: 'gesdem-error', template: "<div class=\"vd-card mb-3\" *ngIf=\"!hasSessionExpired\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <div class=\"card-body\">\n <ng-container *ngIf=\"(isPendingPayment | async) === true\">\n <p\n class=\"card-text vd-card-text alert alert-danger\"\n [innerHTML]=\"\n 'gesdem-error.text.pending-payment'\n | fromDictionary\n : {\n supportLink: (supportLink | async)\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(isPendingPayment | async) === false\">\n <p class=\"card-text vd-card-text\">\n {{\n (!!reference\n ? 'gesdem-error.text.has-reference'\n : 'gesdem-error.text.has-no-reference'\n ) | fromDictionary\n }}\n </p>\n <ul class=\"vd-list-links\">\n <li>\n <a [href]=\"link\">\n {{\n (!!reference\n ? 'gesdem-error.link.has-reference'\n : 'gesdem-error.link.has-no-reference'\n ) | fromDictionary\n }}\n </a>\n </li>\n </ul>\n </ng-container>\n\n <foehn-debug-summary></foehn-debug-summary>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<gesdem-action-recovery-login\n *ngIf=\"hasSessionExpired\"\n [reference]=\"reference\"\n [redirectTarget]=\"link\"\n></gesdem-action-recovery-login>\n" }]
3407
+ }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: FoehnNavigationService }, { type: GesdemHandlerService }, { type: GesdemEventService }, { type: FoehnPageService }, { type: SupportAlertService }, { type: ApplicationInfoService }]; }, propDecorators: { setPageTitle: [{
3375
3408
  type: Input
3376
3409
  }] } });
3377
3410
 
@@ -10307,12 +10340,14 @@ GesdemErrorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versio
10307
10340
  GesdemErrorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: GesdemErrorModule, declarations: [GesdemErrorComponent], imports: [CommonModule,
10308
10341
  RouterModule,
10309
10342
  GesdemActionRecoveryModule,
10310
- FoehnDebugSummaryComponentModule], exports: [GesdemErrorComponent] });
10343
+ FoehnDebugSummaryComponentModule,
10344
+ SdkDictionaryModule], exports: [GesdemErrorComponent] });
10311
10345
  GesdemErrorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: GesdemErrorModule, imports: [[
10312
10346
  CommonModule,
10313
10347
  RouterModule,
10314
10348
  GesdemActionRecoveryModule,
10315
- FoehnDebugSummaryComponentModule
10349
+ FoehnDebugSummaryComponentModule,
10350
+ SdkDictionaryModule
10316
10351
  ]] });
10317
10352
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: GesdemErrorModule, decorators: [{
10318
10353
  type: NgModule,
@@ -10321,7 +10356,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImpor
10321
10356
  CommonModule,
10322
10357
  RouterModule,
10323
10358
  GesdemActionRecoveryModule,
10324
- FoehnDebugSummaryComponentModule
10359
+ FoehnDebugSummaryComponentModule,
10360
+ SdkDictionaryModule
10325
10361
  ],
10326
10362
  declarations: [GesdemErrorComponent],
10327
10363
  exports: [GesdemErrorComponent]
@@ -11224,6 +11260,7 @@ class EPaymentService {
11224
11260
  responseType: 'text'
11225
11261
  })
11226
11262
  .pipe(catchError(() => {
11263
+ this.growlService.addWithType(GrowlType.DANGER, 'Une erreur de transmission est survenue. Merci de réessayer plus tard.');
11227
11264
  this.cancelPendingPayment(ref, baseUrl);
11228
11265
  throw new Error();
11229
11266
  }));