Skip to content

Commit 841669f

Browse files
authored
Fix - Preprints bugs (826, 828) (#519)
* 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 * fix(supplements-step): Fixed labels for buttons * fix(preprint-provider-brand): Fixed parsing brand * fix(institution-dashboard): Limited contributors to top 2 * fix(supplements-step): Removed unused import * fix(comments): Fixed PR comments * fix(affiliated-institutions): Fixed description for metadata step * fix(preprint-submit): Fixed logic of submitting preprint on review-step * fix(preprint-url): Setting to url actual id of preprint including version number * fix(preprint-citations): Using citation styles from preprint provider to show default citations * fix(my-preprints): Added default sortColumn and order * fix(preprint-citations): Handled empty citation styles result * fix(preprints-moderation): Added guard for moderation pages * fix(preprints-update): Fixed deactivate page logic
1 parent 0f20943 commit 841669f

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './preprints-moderator.guard';
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { Store } from '@ngxs/store';
2+
3+
import { inject } from '@angular/core';
4+
import { CanActivateFn, Router } from '@angular/router';
5+
6+
import { UserSelectors } from '@core/store/user';
7+
8+
export const preprintsModeratorGuard: CanActivateFn = () => {
9+
const store = inject(Store);
10+
const router = inject(Router);
11+
12+
const canUserViewReviews = store.selectSnapshot(UserSelectors.getCanViewReviews);
13+
14+
if (!canUserViewReviews) {
15+
router.navigateByUrl('/forbidden');
16+
}
17+
18+
return canUserViewReviews;
19+
};

src/app/features/preprints/pages/update-preprint-stepper/update-preprint-stepper.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ export class UpdatePreprintStepperComponent implements OnInit, OnDestroy, CanDea
155155
}
156156

157157
canDeactivate(): Observable<boolean> | boolean {
158-
return this.hasBeenSubmitted();
158+
return this.hasBeenSubmitted() || this.preprint()?.reviewsState === ReviewsState.Accepted;
159159
}
160160

161161
ngOnInit() {

src/app/features/preprints/preprints.routes.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { provideStates } from '@ngxs/store';
33
import { Routes } from '@angular/router';
44

55
import { authGuard } from '@osf/core/guards';
6+
import { preprintsModeratorGuard } from '@osf/features/preprints/guards';
67
import { PreprintsComponent } from '@osf/features/preprints/preprints.component';
78
import { PreprintState } from '@osf/features/preprints/store/preprint';
89
import { PreprintProvidersState } from '@osf/features/preprints/store/preprint-providers';
@@ -76,13 +77,13 @@ export const preprintsRoutes: Routes = [
7677
},
7778
{
7879
path: ':providerId/moderation',
79-
canActivate: [authGuard],
80+
canActivate: [authGuard, preprintsModeratorGuard],
8081
loadChildren: () =>
8182
import('@osf/features/moderation/preprint-moderation.routes').then((mod) => mod.preprintModerationRoutes),
8283
},
8384
{
8485
path: 'my-reviewing',
85-
canActivate: [authGuard],
86+
canActivate: [authGuard, preprintsModeratorGuard],
8687
loadComponent: () =>
8788
import('@osf/features/moderation/pages/my-preprint-reviewing/my-preprint-reviewing.component').then(
8889
(m) => m.MyPreprintReviewingComponent

0 commit comments

Comments
 (0)