Skip to content

Commit 39f8864

Browse files
[DURACOM-317] fix comm/coll routes for audit
1 parent 8c5bb1d commit 39f8864

5 files changed

Lines changed: 32 additions & 3 deletions

File tree

src/app/audit-page/audit-table/audit-table.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,13 @@
5151
@if (isOverviewPage) {
5252
<td>
5353
@if (audit.objectUUID) {
54-
<a [routerLink]="['/items/', audit.objectUUID, 'auditlogs']">{{audit.objectUUID}}</a>
54+
<a [routerLink]="[getObjectRoute$(audit.object) | async]">{{audit.objectUUID}}</a>
5555
}
5656
</td>
5757
<td>{{ audit.objectType }}</td>
5858
<td>
5959
@if (audit.subjectUUID) {
60-
<a [routerLink]="['/items/', audit.subjectUUID, 'auditlogs']">{{audit.subjectUUID}}</a>
60+
<a [routerLink]="[getObjectRoute$(audit.subject) | async]">{{audit.subjectUUID}}</a>
6161
}
6262
</td>
6363
<td>{{ audit.subjectType }}</td>

src/app/audit-page/audit-table/audit-table.component.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,14 @@ import {
1111
} from '@angular/core';
1212
import { RouterLink } from '@angular/router';
1313
import { AUDIT_PERSON_NOT_AVAILABLE } from '@dspace/core/data/audit-data.service';
14+
import { RemoteData } from '@dspace/core/data/remote-data';
1415
import { PaginationComponentOptions } from '@dspace/core/pagination/pagination-component-options.model';
16+
import { getDSORoute } from '@dspace/core/router/utils/dso-route.utils';
17+
import { URLCombiner } from '@dspace/core/url-combiner/url-combiner';
1518
import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap';
1619
import { TranslateModule } from '@ngx-translate/core';
20+
import { Observable } from 'rxjs';
21+
import { map } from 'rxjs/operators';
1722

1823
import { Audit } from '../../core/audit/model/audit.model';
1924
import { DSONameService } from '../../core/breadcrumbs/dso-name.service';
@@ -78,4 +83,10 @@ export class AuditTableComponent {
7883
audit.isCollapsed = !audit.isCollapsed;
7984
this.changeDetectorRef.detectChanges();
8085
}
86+
87+
getObjectRoute$(dso: Observable<RemoteData<DSpaceObject>>): Observable<string> {
88+
return dso.pipe(
89+
map(resolvedDso => new URLCombiner(getDSORoute(resolvedDso.payload), 'auditlogs').toString()),
90+
);
91+
}
8192
}

src/app/collection-page/collection-page-routes.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { collectionBreadcrumbResolver } from '@dspace/core/breadcrumbs/collectio
44
import { communityBreadcrumbResolver } from '@dspace/core/breadcrumbs/community-breadcrumb.resolver';
55
import { i18nBreadcrumbResolver } from '@dspace/core/breadcrumbs/i18n-breadcrumb.resolver';
66

7+
import { ObjectAuditLogsComponent } from '../audit-page/object-audit-overview/object-audit-logs.component';
78
import { browseByGuard } from '../browse-by/browse-by-guard';
89
import { browseByI18nBreadcrumbResolver } from '../browse-by/browse-by-i18n-breadcrumb.resolver';
910
import { ComcolBrowseByComponent } from '../shared/comcol/sections/comcol-browse-by/comcol-browse-by.component';
@@ -62,6 +63,14 @@ export const ROUTES: Route[] = [
6263
.then((m) => m.ROUTES),
6364
canActivate: [collectionPageAdministratorGuard],
6465
},
66+
{
67+
path: 'auditlogs',
68+
component: ObjectAuditLogsComponent,
69+
data: { title: 'audit.object.title', breadcrumbKey: 'audit.object' },
70+
resolve: {
71+
breadcrumb: i18nBreadcrumbResolver,
72+
},
73+
},
6574
{
6675
path: 'delete',
6776
pathMatch: 'full',

src/app/community-page/community-page-routes.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { authenticatedGuard } from '@dspace/core/auth/authenticated.guard';
33
import { communityBreadcrumbResolver } from '@dspace/core/breadcrumbs/community-breadcrumb.resolver';
44
import { i18nBreadcrumbResolver } from '@dspace/core/breadcrumbs/i18n-breadcrumb.resolver';
55

6+
import { ObjectAuditLogsComponent } from '../audit-page/object-audit-overview/object-audit-logs.component';
67
import { browseByGuard } from '../browse-by/browse-by-guard';
78
import { browseByI18nBreadcrumbResolver } from '../browse-by/browse-by-i18n-breadcrumb.resolver';
89
import { ComcolBrowseByComponent } from '../shared/comcol/sections/comcol-browse-by/comcol-browse-by.component';
@@ -65,6 +66,14 @@ export const ROUTES: Route[] = [
6566
component: DeleteCommunityPageComponent,
6667
canActivate: [authenticatedGuard],
6768
},
69+
{
70+
path: 'auditlogs',
71+
component: ObjectAuditLogsComponent,
72+
data: { title: 'audit.object.title', breadcrumbKey: 'audit.object' },
73+
resolve: {
74+
breadcrumb: i18nBreadcrumbResolver,
75+
},
76+
},
6877
{
6978
path: '',
7079
component: ThemedCommunityPageComponent,

src/app/shared/menu/providers/audit-item.menu.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export class AuditLogsMenuProvider extends DSpaceObjectPageMenuProvider {
5656
link: new URLCombiner(getDSORoute(dso), 'auditlogs').toString(),
5757
} as LinkMenuItemModel,
5858
icon: 'clipboard-check',
59-
visible: isAdmin && isAuditEnabled,
59+
visible: true,
6060
}] as PartialMenuSection[];
6161
}),
6262
);

0 commit comments

Comments
 (0)