Skip to content

Commit 41afc4e

Browse files
[UXP-198] improve Unpaywall messages behavior
1 parent 3829377 commit 41afc4e

6 files changed

Lines changed: 47 additions & 44 deletions

File tree

src/app/submission/sections/unpaywall/submission-section-unpaywall.component.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
[content]="'submission.sections.unpaywall.status.imported' | translate"></ds-alert>
1212
</ng-container>
1313
<ng-container *ngSwitchCase="UnpaywallSectionStatus.PENDING">
14-
<ds-alert [type]="AlertType.Info"
14+
<ds-alert [type]="AlertType.Warning"
1515
[content]="'submission.sections.unpaywall.status.pending' | translate"></ds-alert>
1616
</ng-container>
1717
<ng-container *ngSwitchCase="UnpaywallSectionStatus.NO_FILE">
@@ -35,7 +35,8 @@
3535
<span aria-hidden="true">{{'submission.sections.unpaywall.refresh' | translate}}</span>
3636
</button>
3737
<button type="button" class="btn btn-success" aria-label="import from unpaywall"
38-
(click)="confirmImport()" [disabled]="(status$ | async) !== UnpaywallSectionStatus.SUCCESSFUL">
38+
*ngIf="(status$ | async) === UnpaywallSectionStatus.SUCCESSFUL"
39+
(click)="confirmImport()">
3940
<span aria-hidden="true">{{'submission.sections.unpaywall.import' | translate}}</span>
4041
</button>
4142
</ng-container>

src/app/submission/sections/unpaywall/submission-section-unpaywall.component.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ export class SubmissionSectionUnpaywallComponent extends SectionModelComponent i
204204
this.loading$.next(isLoading);
205205
if (!isLoading) {
206206
this.stopFetch$.next();
207+
} else if (unpaywall?.status === UnpaywallSectionStatus.PENDING) {
208+
this.notificationsService.warning(this.translate.instant('submission.sections.unpaywall.status.pending'));
207209
}
208210
});
209211
}
@@ -217,12 +219,6 @@ export class SubmissionSectionUnpaywallComponent extends SectionModelComponent i
217219

218220
protected handleStatusNotification(status: UnpaywallSectionStatus) {
219221
switch (status) {
220-
case UnpaywallSectionStatus.NOT_FOUND:
221-
this.notificationsService.error(this.translate.instant('submission.sections.unpaywall.status.not-found'));
222-
break;
223-
case UnpaywallSectionStatus.NO_FILE:
224-
this.notificationsService.warning(this.translate.instant('submission.sections.unpaywall.status.no-file'));
225-
break;
226222
case UnpaywallSectionStatus.SUCCESSFUL:
227223
this.notificationsService.success(this.translate.instant('submission.sections.unpaywall.status.successful'));
228224
break;
@@ -357,7 +353,9 @@ export class SubmissionSectionUnpaywallComponent extends SectionModelComponent i
357353
}
358354

359355
private getDoiMetadataValue(value: SubmissionObjectEntry): string {
360-
return value.sections[value.definition]?.data?.[DOI_METADATA]?.[0]?.value;
356+
return Object.values(value.sections)
357+
.find((section) => section?.data?.[DOI_METADATA]?.[0]?.value !== undefined)
358+
?.data?.[DOI_METADATA]?.[0]?.value;
361359
}
362360

363361
private hideCurrentSection(): void {

src/assets/i18n/de.json5

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12063,25 +12063,26 @@
1206312063
// TODO New key - Add a translation
1206412064
"submission.sections.unpaywall.refresh": "Refresh",
1206512065

12066-
// "submission.sections.unpaywall.import": "Import from unpaywall",
12066+
// "submission.sections.unpaywall.import": "Import from Unpaywall",
1206712067
// TODO New key - Add a translation
12068-
"submission.sections.unpaywall.import": "Import from unpaywall",
12068+
"submission.sections.unpaywall.import": "Import from Unpaywall",
1206912069

12070-
// "submission.sections.unpaywall.status.successful": "You can import from unpaywall",
12070+
// "submission.sections.unpaywall.status.successful": "There are available files to import from Unpaywall.",
1207112071
// TODO New key - Add a translation
12072-
"submission.sections.unpaywall.status.successful": "You can import from unpaywall",
12072+
"submission.sections.unpaywall.status.successful": "There are available files to import from Unpaywall.",
1207312073

12074-
// "submission.sections.unpaywall.status.not-found": "Can't find record using Unpaywall api",
12074+
// "submission.sections.unpaywall.status.not-found": "Cannot find record using Unpaywall API.",
1207512075
// TODO New key - Add a translation
12076-
"submission.sections.unpaywall.status.not-found": "Can't find record using Unpaywall api",
12076+
"submission.sections.unpaywall.status.not-found": "Cannot find record using Unpaywall API.",
1207712077

12078-
// "submission.sections.unpaywall.status.pending": "Unpaywall api request is initialized",
12078+
// "submission.sections.unpaywall.status.pending": "Unable to retrieve information from the Unpaywall service. You can use the refresh button to manually check if an answer has been received.",
1207912079
// TODO New key - Add a translation
12080-
"submission.sections.unpaywall.status.pending": "Unpaywall api request is initialized",
12080+
"submission.sections.unpaywall.status.pending": "Unable to retrieve information from the Unpaywall service. You can use the refresh button to manually check if an answer has been received.",
1208112081

12082-
// "submission.sections.unpaywall.status.no-file": "There are no files to be imported",
12082+
// "submission.sections.unpaywall.status.no-file": "There are no available files to be imported.",
1208312083
// TODO New key - Add a translation
12084-
"submission.sections.unpaywall.status.no-file": "There are no files to be imported",
12084+
"submission.sections.unpaywall.status.no-file": "There are no available files to be imported.",
12085+
1208512086
// "submission.sections.unpaywall.status.imported": "The Unpaywall resource has been imported!",
1208612087
// TODO New key - Add a translation
1208712088
"submission.sections.unpaywall.status.imported": "The Unpaywall resource has been imported!",

src/assets/i18n/en.json5

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6829,15 +6829,16 @@
68296829

68306830
"submission.sections.unpaywall.refresh": "Refresh",
68316831

6832-
"submission.sections.unpaywall.import": "Import from unpaywall",
6832+
"submission.sections.unpaywall.import": "Import from Unpaywall",
68336833

6834-
"submission.sections.unpaywall.status.successful": "You can import from unpaywall",
6834+
"submission.sections.unpaywall.status.successful": "There are available files to import from Unpaywall.",
68356835

6836-
"submission.sections.unpaywall.status.not-found": "Can't find record using Unpaywall api",
6836+
"submission.sections.unpaywall.status.not-found": "Cannot find record using Unpaywall API.",
68376837

6838-
"submission.sections.unpaywall.status.pending": "Unpaywall api request is initialized",
6838+
"submission.sections.unpaywall.status.pending": "Unable to retrieve information from the Unpaywall service. You can use the refresh button to manually check if an answer has been received.",
6839+
6840+
"submission.sections.unpaywall.status.no-file": "There are no available files to be imported.",
68396841

6840-
"submission.sections.unpaywall.status.no-file": "There are no files to be imported",
68416842
"submission.sections.unpaywall.status.imported": "The Unpaywall resource has been imported!",
68426843

68436844
"submission.sections.submit.progressbar.unpaywall": "Unpaywall",

src/assets/i18n/es.json5

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11382,25 +11382,26 @@
1138211382
// TODO New key - Add a translation
1138311383
"submission.sections.unpaywall.refresh": "Refresh",
1138411384

11385-
// "submission.sections.unpaywall.import": "Import from unpaywall",
11385+
// "submission.sections.unpaywall.import": "Import from Unpaywall",
1138611386
// TODO New key - Add a translation
11387-
"submission.sections.unpaywall.import": "Import from unpaywall",
11387+
"submission.sections.unpaywall.import": "Import from Unpaywall",
1138811388

11389-
// "submission.sections.unpaywall.status.successful": "You can import from unpaywall",
11389+
// "submission.sections.unpaywall.status.successful": "There are available files to import from Unpaywall.",
1139011390
// TODO New key - Add a translation
11391-
"submission.sections.unpaywall.status.successful": "You can import from unpaywall",
11391+
"submission.sections.unpaywall.status.successful": "There are available files to import from Unpaywall.",
1139211392

11393-
// "submission.sections.unpaywall.status.not-found": "Can't find record using Unpaywall api",
11393+
// "submission.sections.unpaywall.status.not-found": "Cannot find record using Unpaywall API.",
1139411394
// TODO New key - Add a translation
11395-
"submission.sections.unpaywall.status.not-found": "Can't find record using Unpaywall api",
11395+
"submission.sections.unpaywall.status.not-found": "Cannot find record using Unpaywall API.",
1139611396

11397-
// "submission.sections.unpaywall.status.pending": "Unpaywall api request is initialized",
11397+
// "submission.sections.unpaywall.status.pending": "Unable to retrieve information from the Unpaywall service. You can use the refresh button to manually check if an answer has been received.",
1139811398
// TODO New key - Add a translation
11399-
"submission.sections.unpaywall.status.pending": "Unpaywall api request is initialized",
11399+
"submission.sections.unpaywall.status.pending": "Unable to retrieve information from the Unpaywall service. You can use the refresh button to manually check if an answer has been received.",
1140011400

11401-
// "submission.sections.unpaywall.status.no-file": "There are no files to be imported",
11401+
// "submission.sections.unpaywall.status.no-file": "There are no available files to be imported.",
1140211402
// TODO New key - Add a translation
11403-
"submission.sections.unpaywall.status.no-file": "There are no files to be imported",
11403+
"submission.sections.unpaywall.status.no-file": "There are no available files to be imported.",
11404+
1140411405
// "submission.sections.unpaywall.status.imported": "The Unpaywall resource has been imported!",
1140511406
// TODO New key - Add a translation
1140611407
"submission.sections.unpaywall.status.imported": "The Unpaywall resource has been imported!",

src/assets/i18n/fr.json5

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11736,25 +11736,26 @@
1173611736
// TODO New key - Add a translation
1173711737
"submission.sections.unpaywall.refresh": "Refresh",
1173811738

11739-
// "submission.sections.unpaywall.import": "Import from unpaywall",
11739+
// "submission.sections.unpaywall.import": "Import from Unpaywall",
1174011740
// TODO New key - Add a translation
11741-
"submission.sections.unpaywall.import": "Import from unpaywall",
11741+
"submission.sections.unpaywall.import": "Import from Unpaywall",
1174211742

11743-
// "submission.sections.unpaywall.status.successful": "You can import from unpaywall",
11743+
// "submission.sections.unpaywall.status.successful": "There are available files to import from Unpaywall.",
1174411744
// TODO New key - Add a translation
11745-
"submission.sections.unpaywall.status.successful": "You can import from unpaywall",
11745+
"submission.sections.unpaywall.status.successful": "There are available files to import from Unpaywall.",
1174611746

11747-
// "submission.sections.unpaywall.status.not-found": "Can't find record using Unpaywall api",
11747+
// "submission.sections.unpaywall.status.not-found": "Cannot find record using Unpaywall API.",
1174811748
// TODO New key - Add a translation
11749-
"submission.sections.unpaywall.status.not-found": "Can't find record using Unpaywall api",
11749+
"submission.sections.unpaywall.status.not-found": "Cannot find record using Unpaywall API.",
1175011750

11751-
// "submission.sections.unpaywall.status.pending": "Unpaywall api request is initialized",
11751+
// "submission.sections.unpaywall.status.pending": "Unable to retrieve information from the Unpaywall service. You can use the refresh button to manually check if an answer has been received.",
1175211752
// TODO New key - Add a translation
11753-
"submission.sections.unpaywall.status.pending": "Unpaywall api request is initialized",
11753+
"submission.sections.unpaywall.status.pending": "Unable to retrieve information from the Unpaywall service. You can use the refresh button to manually check if an answer has been received.",
1175411754

11755-
// "submission.sections.unpaywall.status.no-file": "There are no files to be imported",
11755+
// "submission.sections.unpaywall.status.no-file": "There are no available files to be imported.",
1175611756
// TODO New key - Add a translation
11757-
"submission.sections.unpaywall.status.no-file": "There are no files to be imported",
11757+
"submission.sections.unpaywall.status.no-file": "There are no available files to be imported.",
11758+
1175811759
// "submission.sections.unpaywall.status.imported": "The Unpaywall resource has been imported!",
1175911760
// TODO New key - Add a translation
1176011761
"submission.sections.unpaywall.status.imported": "The Unpaywall resource has been imported!",

0 commit comments

Comments
 (0)