diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-dashboard.module.ts b/src/app/admin/admin-notify-dashboard/admin-notify-dashboard.module.ts
index c75ab053c7..e111ad005f 100644
--- a/src/app/admin/admin-notify-dashboard/admin-notify-dashboard.module.ts
+++ b/src/app/admin/admin-notify-dashboard/admin-notify-dashboard.module.ts
@@ -28,7 +28,7 @@ const ENTRY_COMPONENTS = [
SharedModule,
AdminNotifyDashboardRoutingModule,
SearchModule,
- SearchPageModule,
+ SearchPageModule
],
providers: [
AdminNotifyMessagesService,
diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-detail-modal/admin-notify-detail-modal.component.html b/src/app/admin/admin-notify-dashboard/admin-notify-detail-modal/admin-notify-detail-modal.component.html
index 4f4e3d85c1..de74fbba9e 100644
--- a/src/app/admin/admin-notify-dashboard/admin-notify-detail-modal/admin-notify-detail-modal.component.html
+++ b/src/app/admin/admin-notify-dashboard/admin-notify-detail-modal/admin-notify-detail-modal.component.html
@@ -11,4 +11,12 @@
{{'notify-detail-modal.' + notifyMessage[key] | translate: {default: notifyMessage[key] ?? "n/a" } }}
+
+
+
+
+
+
diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-detail-modal/admin-notify-detail-modal.component.ts b/src/app/admin/admin-notify-dashboard/admin-notify-detail-modal/admin-notify-detail-modal.component.ts
index ae9ad34c8a..6ac187fab9 100644
--- a/src/app/admin/admin-notify-dashboard/admin-notify-detail-modal/admin-notify-detail-modal.component.ts
+++ b/src/app/admin/admin-notify-dashboard/admin-notify-detail-modal/admin-notify-detail-modal.component.ts
@@ -3,10 +3,14 @@ import { AdminNotifyMessage } from '../models/admin-notify-message.model';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { TranslateService } from '@ngx-translate/core';
import { MissingTranslationHelper } from '../../../shared/translate/missing-translation.helper';
+import { fadeIn } from '../../../shared/animations/fade';
@Component({
selector: 'ds-admin-notify-detail-modal',
templateUrl: './admin-notify-detail-modal.component.html',
+ animations: [
+ fadeIn
+ ]
})
export class AdminNotifyDetailModalComponent {
@Input() notifyMessage: AdminNotifyMessage;
@@ -18,6 +22,8 @@ export class AdminNotifyDetailModalComponent {
@Output()
response = new EventEmitter();
+ public isCoarMessageVisible = false;
+
constructor(protected activeModal: NgbActiveModal,
public translationsService: TranslateService) {
@@ -32,4 +38,8 @@ export class AdminNotifyDetailModalComponent {
this.activeModal.close();
this.response.emit(true);
}
+
+ toggleCoarMessage() {
+ this.isCoarMessageVisible = !this.isCoarMessageVisible;
+ }
}
diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.scss b/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.scss
deleted file mode 100644
index 290f66fa6f..0000000000
--- a/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-.table-responsive {
- th, td {
- padding: 0.5rem !important;
- }
-}
diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.ts b/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.ts
index 59fb4ca4e0..a813599745 100644
--- a/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.ts
+++ b/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.ts
@@ -22,7 +22,6 @@ import { DatePipe } from '@angular/common';
@Component({
selector: 'ds-admin-notify-search-result',
templateUrl: './admin-notify-search-result.component.html',
- styleUrls: ['./admin-notify-search-result.component.scss'],
providers: [
{
provide: SEARCH_CONFIG_SERVICE,
@@ -50,6 +49,26 @@ export class AdminNotifySearchResultComponent extends TabulatableResultListEleme
private dateTypeKeys: string[] = ['queueLastStartTime', 'queueTimeout'];
+ /**
+ * Keys to be not shown in detail
+ * @private
+ */
+ private hiddenKeys: string[] = [
+ 'target',
+ 'object',
+ 'context',
+ 'origin',
+ '_links',
+ 'metadata',
+ 'thumbnail',
+ 'item',
+ 'accessStatus',
+ 'queueStatus',
+ 'notificationId',
+ 'notificationType',
+ 'message'
+ ];
+
/**
* The format for the date values
* @private
@@ -83,27 +102,19 @@ export class AdminNotifySearchResultComponent extends TabulatableResultListEleme
* Open modal for details visualization
* @param message the message to be displayed
*/
- openDetailModal(message: AdminNotifyMessage) {
+ openDetailModal(notifyMessage: AdminNotifyMessage) {
const modalRef = this.modalService.open(AdminNotifyDetailModalComponent);
- const messageToOpen = {...message};
- // we delete not necessary or not readable keys
- delete messageToOpen.target;
- delete messageToOpen.object;
- delete messageToOpen.context;
- delete messageToOpen.origin;
- delete messageToOpen._links;
- delete messageToOpen.metadata;
- delete messageToOpen.thumbnail;
- delete messageToOpen.item;
- delete messageToOpen.accessStatus;
- delete messageToOpen.queueStatus;
+ const messageToOpen = {...notifyMessage};
+ // we exclude not necessary or not readable keys
+ const messageKeys = Object.keys(messageToOpen).filter(key => !this.hiddenKeys.includes(key));
- const messageKeys = Object.keys(messageToOpen);
messageKeys.forEach(key => {
if (this.dateTypeKeys.includes(key)) {
messageToOpen[key] = this.datePipe.transform(messageToOpen[key], this.dateFormat);
}
});
+ // format COAR message for technical visualization
+ messageToOpen.message = JSON.stringify(JSON.parse(notifyMessage.message), null, 2);
modalRef.componentInstance.notifyMessage = messageToOpen;
modalRef.componentInstance.notifyMessageKeys = messageKeys;
diff --git a/src/app/admin/admin-notify-dashboard/models/admin-notify-message.model.ts b/src/app/admin/admin-notify-dashboard/models/admin-notify-message.model.ts
index 72fe58eacb..4e81dd3f2d 100644
--- a/src/app/admin/admin-notify-dashboard/models/admin-notify-message.model.ts
+++ b/src/app/admin/admin-notify-dashboard/models/admin-notify-message.model.ts
@@ -68,6 +68,12 @@ export class AdminNotifyMessage extends DSpaceObject {
@autoserialize
context: string;
+ /**
+ * The related COAR message
+ */
+ @autoserialize
+ message: string;
+
/**
* The attempts of the queue
*/
diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5
index d9f4df20cb..8121bbb971 100644
--- a/src/assets/i18n/en.json5
+++ b/src/assets/i18n/en.json5
@@ -3499,6 +3499,28 @@
"search.filters.filter.activity_stream_type.label": "Search activity stream type",
+ "search.filters.applied.f.queue_status": "Queue Status",
+
+ "search.filters.queue_status.1,authority": "Queued",
+
+ "search.filters.queue_status.2,authority": "Processing",
+
+ "search.filters.queue_status.3,authority": "Processed",
+
+ "search.filters.queue_status.4,authority": "Failed",
+
+ "search.filters.queue_status.5,authority": "Untrusted",
+
+ "search.filters.queue_status.6,authority": "Unmapped Action",
+
+ "search.filters.queue_status.7,authority": "Queued for retry",
+
+ "search.filters.applied.f.activity_stream_type": "Activity stream type",
+
+ "search.filters.applied.f.coar_notify_type": "COAR Notify type",
+
+ "search.filters.applied.f.notification_type": "Notification type",
+
"search.filters.filter.coar_notify_type.label": "Search COAR Notify type",
"search.filters.filter.notification_type.label": "Search notification type",
@@ -3525,18 +3547,26 @@
"search.filters.coar_notify_type.coar-notify:ReviewAction": "Review action",
+ "search.filters.coar_notify_type.coar-notify:ReviewAction,authority": "Review action",
+
"notify-detail-modal.coar-notify:ReviewAction": "Review action",
"search.filters.coar_notify_type.coar-notify:EndorsementAction": "Endorsement action",
+ "search.filters.coar_notify_type.coar-notify:EndorsementAction,authority": "Endorsement action",
+
"notify-detail-modal.coar-notify:EndorsementAction": "Endorsement action",
"search.filters.coar_notify_type.coar-notify:IngestAction": "Ingest action",
+ "search.filters.coar_notify_type.coar-notify:IngestAction,authority": "Ingest action",
+
"notify-detail-modal.coar-notify:IngestAction": "Ingest action",
"search.filters.coar_notify_type.coar-notify:RelationshipAction": "Relationship action",
+ "search.filters.coar_notify_type.coar-notify:RelationshipAction,authority": "Relationship action",
+
"notify-detail-modal.coar-notify:RelationshipAction": "Relationship action",
"search.filters.queue_status.QUEUE_STATUS_QUEUED": "Queued",
@@ -3603,6 +3633,8 @@
"notify-message-modal.title": "Message Detail",
+ "notify-message-modal.show-more": "Show more",
+
"notify-message-result.timestamp": "Timestamp",
"notify-message-result.repositoryItem": "Repository Item",