Skip to content

Commit 0f20943

Browse files
authored
Fix/ang-812 (#517)
* fix(ang-403): added wiki permissions * fix(ang-403): fixed minor bug * fix(ang-403): added permissions for the nav menu * fix(ang-812): fixed view only links registry components page * fix(ang-812): fixed overview toolbar permissions * fix(ang-812): fixed metadata tags permissions * fix(ang-820): fixed duplicate project permissions bug
1 parent 584ac88 commit 0f20943

File tree

6 files changed

+26
-8
lines changed

6 files changed

+26
-8
lines changed

src/app/features/analytics/components/view-duplicates/view-duplicates.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<osf-sub-header
22
[title]="'project.analytics.kpi.forks' | translate"
3-
[showButton]="!hasNoPermissions()"
3+
[showButton]="isAuthenticated()"
44
[buttonLabel]="'project.overview.actions.forkProjectLabel' | translate"
55
(buttonClick)="handleForkResource()"
66
/>

src/app/features/analytics/components/view-duplicates/view-duplicates.component.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import {
2222
import { toSignal } from '@angular/core/rxjs-interop';
2323
import { ActivatedRoute, Router, RouterLink } from '@angular/router';
2424

25+
import { UserSelectors } from '@core/store/user';
2526
import { DeleteComponentDialogComponent, ForkDialogComponent } from '@osf/features/project/overview/components';
2627
import { ClearProjectOverview, GetProjectById, ProjectOverviewSelectors } from '@osf/features/project/overview/store';
2728
import {
@@ -42,7 +43,7 @@ import { IS_SMALL } from '@osf/shared/helpers';
4243
import { ToolbarResource } from '@osf/shared/models';
4344
import { Duplicate } from '@osf/shared/models/duplicates';
4445
import { CustomDialogService } from '@osf/shared/services';
45-
import { ClearDuplicates, CurrentResourceSelectors, DuplicatesSelectors, GetAllDuplicates } from '@osf/shared/stores';
46+
import { ClearDuplicates, DuplicatesSelectors, GetAllDuplicates } from '@osf/shared/stores';
4647

4748
@Component({
4849
selector: 'osf-view-duplicates',
@@ -76,7 +77,7 @@ export class ViewDuplicatesComponent {
7677
duplicates = select(DuplicatesSelectors.getDuplicates);
7778
isDuplicatesLoading = select(DuplicatesSelectors.getDuplicatesLoading);
7879
totalDuplicates = select(DuplicatesSelectors.getDuplicatesTotalCount);
79-
hasNoPermissions = select(CurrentResourceSelectors.hasNoPermissions);
80+
isAuthenticated = select(UserSelectors.isAuthenticated);
8081

8182
readonly pageSize = 10;
8283
readonly UserPermissions = UserPermissions;

src/app/features/project/overview/components/overview-toolbar/overview-toolbar.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
}
3838
}
3939

40-
@if (!hasNoPermissions()) {
40+
@if (isAuthenticated()) {
4141
<div class="flex ml-auto">
4242
<div class="flex flex-1 flex-column-reverse gap-3 justify-content-end sm:gap-3 sm:flex-row-reverse lg:flex-row">
4343
@if (resource.storage && !isCollectionsRoute()) {

src/app/features/project/overview/components/overview-toolbar/overview-toolbar.component.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
1515
import { FormsModule } from '@angular/forms';
1616
import { ActivatedRoute, Router, RouterLink } from '@angular/router';
1717

18+
import { UserSelectors } from '@core/store/user';
1819
import { ClearDuplicatedProject, ProjectOverviewSelectors } from '@osf/features/project/overview/store';
1920
import { IconComponent } from '@osf/shared/components';
2021
import { ResourceType } from '@osf/shared/enums';
@@ -78,7 +79,7 @@ export class OverviewToolbarComponent {
7879
bookmarksCollectionId = select(BookmarksSelectors.getBookmarksCollectionId);
7980
bookmarkedProjects = select(MyResourcesSelectors.getBookmarks);
8081
duplicatedProject = select(ProjectOverviewSelectors.getDuplicatedProject);
81-
hasNoPermissions = select(ProjectOverviewSelectors.hasNoPermissions);
82+
isAuthenticated = select(UserSelectors.isAuthenticated);
8283
socialsActionItems = computed(() => {
8384
const shareableContent = this.createShareableContent();
8485
return shareableContent ? this.buildSocialActionItems(shareableContent) : [];

src/app/features/project/wiki/wiki.component.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { ButtonGroupModule } from 'primeng/buttongroup';
77

88
import { filter, map, mergeMap, of, tap } from 'rxjs';
99

10-
import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
10+
import { ChangeDetectionStrategy, Component, computed, DestroyRef, inject } from '@angular/core';
1111
import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
1212
import { ActivatedRoute, Router } from '@angular/router';
1313

@@ -23,6 +23,7 @@ import { hasViewOnlyParam } from '@osf/shared/helpers';
2323
import { WikiModes } from '@osf/shared/models';
2424
import { ToastService } from '@osf/shared/services';
2525
import {
26+
ClearWiki,
2627
CreateWiki,
2728
CreateWikiVersion,
2829
CurrentResourceSelectors,
@@ -61,6 +62,7 @@ import { ViewOnlyLinkMessageComponent } from '@shared/components/view-only-link-
6162
export class WikiComponent {
6263
private readonly route = inject(ActivatedRoute);
6364
private readonly router = inject(Router);
65+
private readonly destroyRef = inject(DestroyRef);
6466
private toastService = inject(ToastService);
6567

6668
WikiModes = WikiModes;
@@ -99,6 +101,7 @@ export class WikiComponent {
99101
createWikiVersion: CreateWikiVersion,
100102
getWikiVersionContent: GetWikiVersionContent,
101103
getCompareVersionContent: GetCompareVersionContent,
104+
clearWiki: ClearWiki,
102105
});
103106

104107
wikiIdFromQueryParams = this.route.snapshot.queryParams['wiki'];
@@ -132,6 +135,10 @@ export class WikiComponent {
132135
mergeMap((wikiId) => this.actions.getWikiVersions(wikiId))
133136
)
134137
.subscribe();
138+
139+
this.destroyRef.onDestroy(() => {
140+
this.actions.clearWiki();
141+
});
135142
}
136143

137144
toggleMode(mode: WikiModes) {

src/app/features/registry/pages/registry-wiki/registry-wiki.component.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { ButtonGroup } from 'primeng/buttongroup';
77

88
import { filter, map, mergeMap, tap } from 'rxjs';
99

10-
import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
10+
import { ChangeDetectionStrategy, Component, computed, DestroyRef, inject } from '@angular/core';
1111
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
1212
import { ActivatedRoute, Router } from '@angular/router';
1313

@@ -17,6 +17,7 @@ import { ResourceType } from '@osf/shared/enums';
1717
import { hasViewOnlyParam } from '@osf/shared/helpers';
1818
import { WikiModes } from '@osf/shared/models';
1919
import {
20+
ClearWiki,
2021
GetCompareVersionContent,
2122
GetComponentsWikiList,
2223
GetWikiContent,
@@ -47,6 +48,7 @@ import {
4748
export class RegistryWikiComponent {
4849
private readonly route = inject(ActivatedRoute);
4950
private readonly router = inject(Router);
51+
private readonly destroyRef = inject(DestroyRef);
5052

5153
WikiModes = WikiModes;
5254
wikiModes = select(WikiSelectors.getWikiModes);
@@ -73,6 +75,7 @@ export class RegistryWikiComponent {
7375
getWikiVersionContent: GetWikiVersionContent,
7476
getCompareVersionContent: GetCompareVersionContent,
7577
getComponentsWikiList: GetComponentsWikiList,
78+
clearWiki: ClearWiki,
7679
});
7780

7881
wikiIdFromQueryParams = this.route.snapshot.queryParams['wiki'];
@@ -103,14 +106,20 @@ export class RegistryWikiComponent {
103106
mergeMap((wikiId) => this.actions.getWikiVersions(wikiId))
104107
)
105108
.subscribe();
109+
110+
this.destroyRef.onDestroy(() => {
111+
this.actions.clearWiki();
112+
});
106113
}
107114

108115
toggleMode(mode: WikiModes) {
109116
this.actions.toggleMode(mode);
110117
}
111118

112119
onSelectVersion(versionId: string) {
113-
this.actions.getWikiVersionContent(this.currentWikiId(), versionId);
120+
if (versionId) {
121+
this.actions.getWikiVersionContent(this.currentWikiId(), versionId);
122+
}
114123
}
115124

116125
onSelectCompareVersion(versionId: string) {

0 commit comments

Comments
 (0)