Skip to content

Commit ae3b249

Browse files
alisaismailatiFrancescoMolinaro
authored andcommitted
Merged in task/dspace-cris-2023_02_x/DSC-1893 (pull request DSpace#2275)
[DSC-1893] item-alert: hide redirect to home button for administrators Approved-by: Francesco Molinaro
2 parents dd06969 + 9746d2a commit ae3b249

3 files changed

Lines changed: 22 additions & 5 deletions

File tree

src/app/item-page/alerts/item-alerts.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div>
1+
<div class="pb-3">
22
<div *ngIf="item && !item.isDiscoverable" class="private-warning">
33
<ds-alert [type]="AlertTypeEnum.Warning" [content]="'item.alerts.private' | translate"></ds-alert>
44
</div>
@@ -8,7 +8,7 @@
88
<span class="align-self-center">{{'item.alerts.withdrawn' | translate}}</span>
99
</div>
1010
</ds-alert>
11-
<p class="text-center">
11+
<p class="text-center" *ngIf="!(isAdministrator$ | async)">
1212
<a routerLink="/home" class="btn btn-primary">{{"410.link.home-page" | translate}}</a>
1313
</p>
1414
</div>

src/app/item-page/alerts/item-alerts.component.spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import { TranslateModule } from '@ngx-translate/core';
44
import { NO_ERRORS_SCHEMA } from '@angular/core';
55
import { Item } from '../../core/shared/item.model';
66
import { By } from '@angular/platform-browser';
7+
import {AuthorizationDataService} from '../../core/data/feature-authorization/authorization-data.service';
8+
import {AuthorizationDataServiceStub} from '../../shared/testing/authorization-service.stub';
79

810
describe('ItemAlertsComponent', () => {
911
let component: ItemAlertsComponent;
@@ -14,7 +16,10 @@ describe('ItemAlertsComponent', () => {
1416
TestBed.configureTestingModule({
1517
declarations: [ItemAlertsComponent],
1618
imports: [TranslateModule.forRoot()],
17-
schemas: [NO_ERRORS_SCHEMA]
19+
schemas: [NO_ERRORS_SCHEMA],
20+
providers: [
21+
{ provide: AuthorizationDataService, useClass: AuthorizationDataServiceStub }
22+
]
1823
})
1924
.compileComponents();
2025
}));

src/app/item-page/alerts/item-alerts.component.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
import { Component, Input } from '@angular/core';
1+
import {Component, Input, OnInit} from '@angular/core';
22
import { Item } from '../../core/shared/item.model';
33
import { AlertType } from '../../shared/alert/alert-type';
4+
import {Observable} from 'rxjs';
5+
import {FeatureID} from '../../core/data/feature-authorization/feature-id';
6+
import {AuthorizationDataService} from '../../core/data/feature-authorization/authorization-data.service';
47

58
@Component({
69
selector: 'ds-item-alerts',
@@ -10,7 +13,7 @@ import { AlertType } from '../../shared/alert/alert-type';
1013
/**
1114
* Component displaying alerts for an item
1215
*/
13-
export class ItemAlertsComponent {
16+
export class ItemAlertsComponent implements OnInit {
1417
/**
1518
* The Item to display alerts for
1619
*/
@@ -21,4 +24,13 @@ export class ItemAlertsComponent {
2124
* @type {AlertType}
2225
*/
2326
public AlertTypeEnum = AlertType;
27+
28+
isAdministrator$: Observable<boolean>;
29+
30+
constructor(private authorizationService: AuthorizationDataService) {
31+
}
32+
33+
ngOnInit() {
34+
this.isAdministrator$ = this.authorizationService.isAuthorized(FeatureID.AdministratorOf);
35+
}
2436
}

0 commit comments

Comments
 (0)