Skip to content

Commit 2232a70

Browse files
FrancescoMolinarovins01-4science
authored andcommitted
Merged in task/dspace-cris-2023_02_x/DSC-1907 (pull request DSpace#2237)
DSC-1907 enable audit menu Approved-by: Vincenzo Mecca
2 parents ebfaa9f + 250b461 commit 2232a70

2 files changed

Lines changed: 13 additions & 5 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<button *ngIf="(isAdmin | async)" class="dropdown-item"
1+
<button *ngIf="(isAuthorized | async)" class="dropdown-item"
22
[innerHTML]="'context-menu.actions.audit-item.btn' | translate"
33
[routerLink]="['/auditlogs/object/', contextMenuObject.id]">
44
</button>

src/app/shared/context-menu/audit-item/audit-item-menu.component.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Component, Inject, OnInit } from '@angular/core';
33
import { rendersContextMenuEntriesForType } from '../context-menu.decorator';
44
import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model';
55
import { ContextMenuEntryComponent } from '../context-menu-entry.component';
6-
import { BehaviorSubject } from 'rxjs';
6+
import { BehaviorSubject, combineLatest } from 'rxjs';
77
import { DSpaceObject } from '../../../core/shared/dspace-object.model';
88
import { ContextMenuEntryType } from '../context-menu-entry-type';
99
import { FeatureID } from '../../../core/data/feature-authorization/feature-id';
@@ -20,7 +20,7 @@ import { AuthorizationDataService } from '../../../core/data/feature-authorizati
2020
@rendersContextMenuEntriesForType(DSpaceObjectType.ITEM)
2121
export class AuditItemMenuComponent extends ContextMenuEntryComponent implements OnInit {
2222

23-
public isAdmin: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
23+
public isAuthorized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
2424

2525
constructor(
2626
@Inject('contextMenuObjectProvider') protected injectedContextMenuObject: DSpaceObject,
@@ -31,8 +31,16 @@ export class AuditItemMenuComponent extends ContextMenuEntryComponent implements
3131
}
3232

3333
ngOnInit(): void {
34-
this.authorizationService.isAuthorized(FeatureID.AdministratorOf, undefined, undefined).pipe(
34+
combineLatest(
35+
[
36+
this.authorizationService.isAuthorized(FeatureID.AdministratorOf),
37+
this.authorizationService.isAuthorized(FeatureID.IsCollectionAdmin),
38+
this.authorizationService.isAuthorized(FeatureID.IsCommunityAdmin),
39+
]
40+
).pipe(
3541
take(1)
36-
).subscribe((isAuthorized: boolean) => (this.isAdmin.next(isAuthorized)));
42+
).subscribe(([isAdmin, isCollectionAdmin, isCommunityAdmin]) => {
43+
this.isAuthorized.next(isAdmin || isCommunityAdmin || isCollectionAdmin);
44+
});
3745
}
3846
}

0 commit comments

Comments
 (0)