Skip to content

Commit 275029e

Browse files
authored
Fix - Preprints bugs (#369)
* fix(metadata-step): Made Publication DOI field optional * fix(preprints-landing): Contact Us button titlecased, Show example button link fixed * fix(create-new-version): Handled back button * fix(preprint-moderation): Fixed sorting for submissions * fix(license-component): Clearing all fields on cancel button click * fix(preprint-stepper): Fixed add-project-form * fix(preprint-title): Increased title maxLength to 512 chars * fix(preprint-details): Fixed date format for download prev version dropdown * fix(preprint-details): Fixed created and last edited dates value * fix(preprint-links): Made institution and license help guide links open in a new tab * fix(affiliated-institutions): Added tooltip containing institution name * fix(file-step): Fixed label * fix(affiliated-institution-select): Fixed description links * fix(preprint-contributors): Fixed contributors links * fix(preprint-user-permissions): Only admin contributor can edit author assertions * fix(contributors-list): Implemented permissions for managing contributors * fix(search): Fixed small bug regarding search * fix(contributors): Fixed PR comments * fix(preprint-file-section): Fixed version number for file * fix(preprint-file-section): Added cancel button to reset file source option * fix(preprint-file-section): Added file section for edit and resubmit flow * fix(preprint-moderation): Improved sorting order
1 parent 0caafd2 commit 275029e

File tree

45 files changed

+381
-221
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+381
-221
lines changed

src/app/features/admin-institutions/components/filters-section/filters-section.component.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ <h2>{{ 'adminInstitutions.common.filterBy' | translate }}</h2>
1717
class="px-4"
1818
[filterValues]="filterValues()"
1919
[filters]="filters()"
20-
[filterOptionsCache]="filterOptionsCache()"
2120
(filterRemoved)="onFilterChipRemoved($event)"
2221
/>
2322

src/app/features/admin-institutions/components/filters-section/filters-section.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ export class FiltersSectionComponent {
4545
filters = select(GlobalSearchSelectors.getFilters);
4646
filterValues = select(GlobalSearchSelectors.getFilterValues);
4747
filterSearchCache = select(GlobalSearchSelectors.getFilterSearchCache);
48-
filterOptionsCache = select(GlobalSearchSelectors.getFilterOptionsCache);
4948
areResourcesLoading = select(GlobalSearchSelectors.getResourcesLoading);
5049

5150
onFilterChanged(event: { filterType: string; value: StringOrNull }): void {

src/app/features/moderation/constants/preprint-sort-options.const.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ export const PREPRINT_SORT_OPTIONS: CustomOption<string>[] = [
1313
},
1414
{
1515
value: PreprintSubmissionsSort.Newest,
16-
label: 'moderation.sortOption.oldest',
16+
label: 'moderation.sortOption.newest',
1717
},
1818
{
1919
value: PreprintSubmissionsSort.Oldest,
20-
label: 'moderation.sortOption.newest',
20+
label: 'moderation.sortOption.oldest',
2121
},
2222
];
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export enum PreprintSubmissionsSort {
22
TitleAZ = 'title',
33
TitleZA = '-title',
4-
Oldest = '-date_last_transitioned',
5-
Newest = 'date_last_transitioned',
4+
Oldest = 'date_last_transitioned',
5+
Newest = '-date_last_transitioned',
66
}

src/app/features/preprints/components/preprint-details/general-information/general-information.component.html

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,18 @@ <h3>{{ 'preprints.preprintStepper.review.sections.metadata.authors' | translate
2727
<div class="flex flex-column gap-1 line-height-2 md:flex-row">
2828
@for (contributor of bibliographicContributors(); track contributor.id) {
2929
<div>
30-
<a class="font-bold"> {{ contributor.fullName }}</a>
30+
@if (contributor.isUnregisteredContributor) {
31+
<span>{{ contributor.fullName }}</span>
32+
} @else {
33+
<a
34+
class="font-bold"
35+
[href]="`${webUrl}/${contributor.userId}`"
36+
target="_blank"
37+
rel="noopener noreferrer"
38+
>
39+
{{ contributor.fullName }}
40+
</a>
41+
}
3142
<span>{{ $last ? '' : ',' }}</span>
3243
</div>
3344
}
@@ -38,7 +49,6 @@ <h3>{{ 'preprints.preprintStepper.review.sections.metadata.authors' | translate
3849
</div>
3950
</section>
4051

41-
<!-- [RNi] TODO: Extract to separate component -->
4252
@if (preprintProvider()?.assertionsEnabled) {
4353
<section class="flex flex-column gap-2">
4454
<h3>{{ 'preprints.preprintStepper.review.sections.authorAssertions.conflictOfInterest' | translate }}</h3>

src/app/features/preprints/components/preprint-details/general-information/general-information.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export class GeneralInformationComponent implements OnDestroy {
4545
fetchPreprintById: FetchPreprintById,
4646
fetchResourceInstitutions: FetchResourceInstitutions,
4747
});
48-
readonly environment = environment;
48+
readonly webUrl = environment.webUrl;
4949

5050
preprintProvider = input.required<PreprintProviderDetails | undefined>();
5151
preprintVersionSelected = output<string>();

src/app/features/preprints/components/preprint-details/preprint-file-section/preprint-file-section.component.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@
4141
}
4242

4343
@if (file()) {
44-
@let fileValue = file()!;
44+
@let preprintValue = preprint()!;
4545

4646
<div class="flex flex-column gap-1 justify-content-start md:flex-row">
47-
<span>{{ dateLabel() | translate }}: {{ fileValue.dateCreated | date: 'longDate' }}</span>
47+
<span>{{ dateLabel() | translate }}: {{ preprintValue.dateCreated | date: 'longDate' }}</span>
4848
@if (isMedium() || isLarge()) {
4949
<span>|</span>
5050
}
5151
<span>
52-
{{ 'preprints.details.file.lastEdited' | translate }} : {{ fileValue.dateModified | date: 'longDate' }}
52+
{{ 'preprints.details.file.lastEdited' | translate }} : {{ preprintValue.dateModified | date: 'longDate' }}
5353
</span>
5454
</div>
5555
}

src/app/features/preprints/components/preprint-details/preprint-file-section/preprint-file-section.component.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export class PreprintFileSectionComponent {
3636
isMedium = toSignal(inject(IS_MEDIUM));
3737
isLarge = toSignal(inject(IS_LARGE));
3838

39+
preprint = select(PreprintSelectors.getPreprint);
3940
file = select(PreprintSelectors.getPreprintFile);
4041
preprint$ = toObservable(select(PreprintSelectors.getPreprint));
4142
isFileLoading = select(PreprintSelectors.isPreprintFileLoading);
@@ -58,10 +59,10 @@ export class PreprintFileSectionComponent {
5859
const fileVersions = this.fileVersions();
5960
if (!fileVersions.length) return [];
6061

61-
return fileVersions.map((version, index) => ({
62+
return fileVersions.map((version) => ({
6263
label: this.translateService.instant('preprints.details.file.downloadVersion', {
63-
version: ++index,
64-
date: this.datePipe.transform(version.dateCreated, 'mm/dd/yyyy hh:mm:ss'),
64+
version: version.id,
65+
date: this.datePipe.transform(version.dateCreated, 'MM/dd/yyyy hh:mm:ss'),
6566
}),
6667
url: version.downloadLink,
6768
command: () => this.logDownload(),

src/app/features/preprints/components/preprint-details/preprint-tombstone/preprint-tombstone.component.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ <h3>{{ 'preprints.preprintStepper.common.labels.abstract' | translate }}</h3>
3939
<section class="license flex flex-column gap-2">
4040
<h3>{{ 'preprints.preprintStepper.review.sections.metadata.license' | translate }}</h3>
4141

42-
<!-- [RNi] TODO: Extract to separate component -->
4342
<p-accordion>
4443
<p-accordion-panel value="0">
4544
<p-accordion-header class="p-0 justify-content-start gap-2">

src/app/features/preprints/components/stepper/file-step/file-step.component.html

Lines changed: 64 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,43 @@ <h2>{{ 'preprints.preprintStepper.file.title' | translate }}</h2>
1010
<p class="line-height-3">{{ 'preprints.preprintStepper.file.note' | translate }}</p>
1111
</section>
1212

13-
<section class="mt-4 w-full flex flex-column gap-2 md:flex-row">
14-
<p-button
15-
[ngClass]="{
16-
active: selectedFileSource() === PreprintFileSource.Computer,
17-
}"
18-
class="file-source-button w-full"
19-
[styleClass]="selectedFileSource() ? 'w-full cursor-not-allowed' : 'w-full'"
20-
[label]="'preprints.preprintStepper.file.uploadFromComputer' | translate | titlecase"
21-
severity="secondary"
22-
[disabled]="isFileSourceSelected()"
23-
[pTooltip]="'preprints.preprintStepper.file.tooltips.computerDisabled' | translate"
24-
tooltipPosition="top"
25-
(onClick)="selectFileSource(PreprintFileSource.Computer)"
26-
/>
27-
<p-button
28-
[ngClass]="{
29-
active: selectedFileSource() === PreprintFileSource.Project,
30-
}"
31-
class="file-source-button w-full"
32-
[styleClass]="isFileSourceSelected() ? 'w-full cursor-not-allowed' : 'w-full'"
33-
[label]="'preprints.preprintStepper.file.selectFromProject' | translate | titlecase"
34-
severity="secondary"
35-
[disabled]="isFileSourceSelected() || versionFileMode()"
36-
[pTooltip]="'preprints.preprintStepper.file.tooltips.projectDisabled' | translate"
37-
tooltipPosition="top"
38-
(onClick)="selectFileSource(PreprintFileSource.Project)"
39-
/>
40-
</section>
13+
@if (!preprintHasPrimaryFile() || versionFileMode()) {
14+
<section class="mt-4 w-full flex flex-column gap-2 md:flex-row">
15+
<p-button
16+
[ngClass]="{
17+
active: selectedFileSource() === PreprintFileSource.Computer,
18+
}"
19+
class="file-source-button w-full"
20+
[styleClass]="selectedFileSource() ? 'w-full cursor-not-allowed' : 'w-full'"
21+
[label]="'preprints.preprintStepper.file.uploadFromComputer' | translate | titlecase"
22+
severity="secondary"
23+
[disabled]="isFileSourceSelected()"
24+
[pTooltip]="'preprints.preprintStepper.file.tooltips.computerDisabled' | translate"
25+
tooltipPosition="top"
26+
(onClick)="selectFileSource(PreprintFileSource.Computer)"
27+
/>
28+
<p-button
29+
data-test-select-button
30+
[ngClass]="{
31+
active: selectedFileSource() === PreprintFileSource.Project,
32+
}"
33+
class="file-source-button w-full"
34+
[styleClass]="isFileSourceSelected() ? 'w-full cursor-not-allowed' : 'w-full'"
35+
[label]="'preprints.preprintStepper.file.selectFromProject' | translate"
36+
severity="secondary"
37+
[disabled]="isFileSourceSelected() || versionFileMode()"
38+
[pTooltip]="'preprints.preprintStepper.file.tooltips.projectDisabled' | translate"
39+
tooltipPosition="top"
40+
(onClick)="selectFileSource(PreprintFileSource.Project)"
41+
/>
42+
</section>
43+
}
4144

4245
@if (selectedFileSource() === PreprintFileSource.Computer) {
4346
<section class="mt-6">
4447
@if (!fileUploadLink()) {
4548
<p-skeleton width="5rem" height="2rem" />
46-
} @else if ((!preprintFiles().length && !arePreprintFilesLoading()) || versionFileMode()) {
49+
} @else if ((!preprintFile() && !isPreprintFileLoading()) || versionFileMode()) {
4750
<p-button
4851
outlined
4952
raised
@@ -58,7 +61,7 @@ <h2>{{ 'preprints.preprintStepper.file.title' | translate }}</h2>
5861
</section>
5962
}
6063

61-
@if (selectedFileSource() === PreprintFileSource.Project && !preprintFiles().length && !arePreprintFilesLoading()) {
64+
@if (selectedFileSource() === PreprintFileSource.Project && !preprintFile() && !isPreprintFileLoading()) {
6265
<p-card styleClass="mt-6" class="card">
6366
<div>
6467
<p class="line-height-3">{{ 'preprints.preprintStepper.file.projectSelection.description' | translate }}</p>
@@ -99,28 +102,39 @@ <h2>{{ 'preprints.preprintStepper.file.title' | translate }}</h2>
99102
}
100103
</section>
101104
}
105+
106+
@if (cancelSourceOptionButtonVisible()) {
107+
<div class="mt-3 flex flex-row justify-content-end">
108+
<p-button
109+
class="md:w-6rem"
110+
styleClass="w-full"
111+
[label]="'common.buttons.cancel' | translate"
112+
severity="info"
113+
(onClick)="cancelButtonClicked()"
114+
/>
115+
</div>
116+
}
117+
102118
@if (!versionFileMode()) {
103119
<section class="mt-6">
104-
@if (arePreprintFilesLoading()) {
120+
@if (isPreprintFileLoading()) {
105121
<p-skeleton height="2rem" class="w-full" />
106-
} @else {
107-
@for (file of preprintFiles(); track file.id) {
108-
<section class="file-row">
109-
<div class="flex flex-row gap-2">
110-
<osf-icon [iconClass]="'fas fa-file'" />
111-
<p>{{ file.name }}</p>
112-
</div>
122+
} @else if (preprintFile()) {
123+
<section class="file-row">
124+
<div class="flex flex-row gap-2">
125+
<osf-icon [iconClass]="'fas fa-file'" />
126+
<p data-test-file-name>{{ preprintFile()!.name }}</p>
127+
</div>
113128

114-
<p-button
115-
class="danger-icon-btn"
116-
icon="fas fa-trash"
117-
severity="danger"
118-
text
119-
[ariaLabel]="'common.buttons.delete' | translate"
120-
(onClick)="versionFile()"
121-
/>
122-
</section>
123-
}
129+
<p-button
130+
class="danger-icon-btn"
131+
icon="fas fa-trash"
132+
severity="danger"
133+
text
134+
[ariaLabel]="'common.buttons.delete' | translate"
135+
(onClick)="versionFile()"
136+
/>
137+
</section>
124138
}
125139
</section>
126140
}
@@ -137,9 +151,9 @@ <h2>{{ 'preprints.preprintStepper.file.title' | translate }}</h2>
137151
class="w-6 md:w-9rem"
138152
styleClass="w-full"
139153
[label]="'common.buttons.next' | translate"
140-
[disabled]="!preprint()?.primaryFileId || versionFileMode()"
154+
[disabled]="!preprintFile() || versionFileMode()"
141155
[pTooltip]="
142-
!preprint()?.primaryFileId || versionFileMode()
156+
!preprintFile() || versionFileMode()
143157
? ('preprints.preprintStepper.common.validation.fillRequiredFields' | translate)
144158
: ''
145159
"

0 commit comments

Comments
 (0)