diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-metrics/admin-notify-metrics.model.ts b/src/app/admin/admin-notify-dashboard/admin-notify-metrics/admin-notify-metrics.model.ts
index bbceb10c20..aa73a16e23 100644
--- a/src/app/admin/admin-notify-dashboard/admin-notify-metrics/admin-notify-metrics.model.ts
+++ b/src/app/admin/admin-notify-dashboard/admin-notify-metrics/admin-notify-metrics.model.ts
@@ -2,6 +2,7 @@ export interface AdminNotifyMetricsBox {
color: string;
textColor?: string;
title: string;
+ description: string;
config: string;
count?: number;
}
diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.html b/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.html
index 5ffaf106f4..8c5136dc88 100644
--- a/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.html
+++ b/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.html
@@ -16,8 +16,12 @@
{{ message.queueLastStartTime | date:"YYYY/MM/d hh:mm:ss" }}
n/a
-
- {{ message.relatedItem }}
+ |
+
+
+ {{ message.relatedItem }}
+
+
n/a
|
@@ -33,7 +37,10 @@
|
-
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 5b8d68c451..0000000000
--- a/src/app/admin/admin-notify-dashboard/admin-notify-search-result/admin-notify-search-result.component.scss
+++ /dev/null
@@ -1,9 +0,0 @@
-.cell-small {
- max-width: 180px;
-}
-
-.table-responsive {
- td, th {
- padding: 0.5rem;
- }
-}
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 1e3258e678..9d8bfa0496 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,
@@ -33,6 +32,8 @@ import { DatePipe } from '@angular/common';
export class AdminNotifySearchResultComponent extends TabulatableResultListElementsComponent, AdminNotifySearchResult> implements OnInit, OnDestroy{
public messagesSubject$: BehaviorSubject = new BehaviorSubject([]);
public reprocessStatus = 'QUEUE_STATUS_QUEUED_FOR_RETRY';
+ public failureStatus = 'QUEUE_STATUS_FAILED';
+ public unmappedActionStatus = 'QUEUE_STATUS_UNMAPPED_ACTION';
//we check on one type of config to render specific table headers
public isInbound: boolean;
diff --git a/src/app/menu.resolver.ts b/src/app/menu.resolver.ts
index 3176e373fb..4eae270f09 100644
--- a/src/app/menu.resolver.ts
+++ b/src/app/menu.resolver.ts
@@ -171,8 +171,7 @@ export class MenuResolver implements Resolve {
this.authorizationService.isAuthorized(FeatureID.AdministratorOf),
this.authorizationService.isAuthorized(FeatureID.CanSubmit),
this.authorizationService.isAuthorized(FeatureID.CanEditItem),
- this.authorizationService.isAuthorized(FeatureID.CanSeeQA)
- ]).subscribe(([isCollectionAdmin, isCommunityAdmin, isSiteAdmin, canSubmit, canEditItem, canSeeQA]) => {
+ ]).subscribe(([isCollectionAdmin, isCommunityAdmin, isSiteAdmin, canSubmit, canEditItem]) => {
const newSubMenuList = [
{
id: 'new_community',
@@ -301,49 +300,12 @@ export class MenuResolver implements Resolve {
icon: 'pencil-alt',
index: 1
};
- const notificationSubMenuList = [
- /* Notifications */
- {
- id: 'notifications',
- active: false,
- visible: true,
- model: {
- type: MenuItemType.TEXT,
- text: 'menu.section.notifications'
- } as TextMenuItemModel,
- icon: 'bell',
- index: 4
- },
- {
- id: 'notifications_quality-assurance',
- parentID: 'notifications',
- active: false,
- visible: canSeeQA,
- model: {
- type: MenuItemType.LINK,
- text: 'menu.section.quality-assurance',
- link: '/notifications/quality-assurance'
- } as LinkMenuItemModel,
- },
- {
- id: 'notifications_reciter',
- parentID: 'notifications',
- active: false,
- visible: true,
- model: {
- type: MenuItemType.LINK,
- text: 'menu.section.notifications_reciter',
- link: '/notifications/' + NOTIFICATIONS_RECITER_SUGGESTION_PATH
- } as LinkMenuItemModel,
- },
- ];
const menuList = [
...newSubMenuList,
newSubMenu,
...editSubMenuList,
editSubMenu,
- ...notificationSubMenuList,
// TODO: enable this menu item once the feature has been implemented
// {
@@ -582,8 +544,10 @@ export class MenuResolver implements Resolve {
* Create menu sections dependent on whether or not the current user is a site administrator
*/
createSiteAdministratorMenuSections() {
- this.authorizationService.isAuthorized(FeatureID.AdministratorOf)
- .subscribe((authorized) => {
+ combineLatest([
+ this.authorizationService.isAuthorized(FeatureID.AdministratorOf),
+ this.authorizationService.isAuthorized(FeatureID.CanSeeQA)
+ ]).subscribe(([authorized, canSeeQA]) => {
const menuList = [
/* Admin Search */
{
@@ -707,6 +671,40 @@ export class MenuResolver implements Resolve {
link: '/admin/ldn/services'
} as LinkMenuItemModel,
},
+ /* Notifications */
+ {
+ id: 'notifications',
+ active: false,
+ visible: authorized,
+ model: {
+ type: MenuItemType.TEXT,
+ text: 'menu.section.notifications'
+ } as TextMenuItemModel,
+ icon: 'bell',
+ index: 4
+ },
+ {
+ id: 'notifications_quality-assurance',
+ parentID: 'notifications',
+ active: false,
+ visible: authorized && canSeeQA,
+ model: {
+ type: MenuItemType.LINK,
+ text: 'menu.section.quality-assurance',
+ link: '/notifications/quality-assurance'
+ } as LinkMenuItemModel,
+ },
+ {
+ id: 'notifications_reciter',
+ parentID: 'notifications',
+ active: false,
+ visible: authorized,
+ model: {
+ type: MenuItemType.LINK,
+ text: 'menu.section.notifications_reciter',
+ link: '/notifications/' + NOTIFICATIONS_RECITER_SUGGESTION_PATH
+ } as LinkMenuItemModel,
+ },
];
menuList.forEach((menuSection) => this.menuService.addSection(MenuID.ADMIN, Object.assign(menuSection, {
diff --git a/src/app/shared/notification-box/notification-box.component.html b/src/app/shared/notification-box/notification-box.component.html
index 2323bd630a..8e4b5bc2f6 100644
--- a/src/app/shared/notification-box/notification-box.component.html
+++ b/src/app/shared/notification-box/notification-box.component.html
@@ -3,6 +3,7 @@
[ngStyle]="{'background-color': boxConfig.color}"
[dsHoverClass]="'shadow-lg'"
(click)="onClick(boxConfig)"
+ [title]="boxConfig.description | translate"
>
{{ boxConfig.count ?? 0 }}
diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5
index b3c1120d84..1c30779cb3 100644
--- a/src/assets/i18n/en.json5
+++ b/src/assets/i18n/en.json5
@@ -3465,6 +3465,8 @@
"admin-notify-dashboard.title": "Notify Dashboard",
+ "admin-notify-dashboard.description": "The Notify dashboard monitor the general usage of the COAR Notify protocol across the repository. In the “Metrics” tab are statistics about usage of the COAR Notify protocol. In the “Logs/Inbound” and “Logs/Outbound” tabs it’s possible to search and check the individual status of each LDN message, either received or sent.",
+
"admin-notify-dashboard.metrics": "Metrics",
"admin-notify-dashboard.received-ldn": "Number of received LDN",
@@ -3473,24 +3475,64 @@
"admin-notify-dashboard.NOTIFY.incoming.accepted": "Accepted",
+ "admin-notify-dashboard.NOTIFY.incoming.accepted.description": "Accepted inbound notifications",
+
+ "admin-notify-logs.NOTIFY.incoming.accepted": "Currently displaying: Accepted notifications",
+
"admin-notify-dashboard.NOTIFY.incoming.processed": "Processed LDN",
+ "admin-notify-dashboard.NOTIFY.incoming.processed.description": "Processed inbound notifications",
+
+ "admin-notify-logs.NOTIFY.incoming.processed": "Currently displaying: Processed LDN",
+
+ "admin-notify-logs.NOTIFY.incoming.failure": "Currently displaying: Failed notifications",
+
"admin-notify-dashboard.NOTIFY.incoming.failure": "Failure",
+ "admin-notify-dashboard.NOTIFY.incoming.failure.description": "Failed inbound notifications",
+
+ "admin-notify-logs.NOTIFY.outgoing.failure": "Currently displaying: Failed notifications",
+
"admin-notify-dashboard.NOTIFY.outgoing.failure": "Failure",
+ "admin-notify-dashboard.NOTIFY.outgoing.failure.description": "Failed outbound notifications",
+
+ "admin-notify-logs.NOTIFY.incoming.untrusted": "Currently displaying: Untrusted notifications",
+
"admin-notify-dashboard.NOTIFY.incoming.untrusted": "Untrusted",
+ "admin-notify-dashboard.NOTIFY.incoming.untrusted.description": "Inbound notifications not trusted",
+
+ "admin-notify-logs.NOTIFY.incoming.delivered": "Currently displaying: Delivered notifications",
+
+ "admin-notify-dashboard.NOTIFY.incoming.delivered.description": "Inbound notifications successfully delivered",
+
"admin-notify-dashboard.NOTIFY.outgoing.delivered": "Delivered",
+ "admin-notify-logs.NOTIFY.outgoing.delivered": "Currently displaying: Delivered notifications",
+
+ "admin-notify-dashboard.NOTIFY.outgoing.delivered.description": "Outbound notifications successfully delivered",
+
+ "admin-notify-logs.NOTIFY.outgoing.queued": "Currently displaying: Queued notifications",
+
+ "admin-notify-dashboard.NOTIFY.outgoing.queued.description": "Notifications currently queued",
+
"admin-notify-dashboard.NOTIFY.outgoing.queued": "Queued",
+ "admin-notify-logs.NOTIFY.outgoing.queued_for_retry": "Currently displaying: Queued for retry notifications",
+
"admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry": "Queued for retry",
+ "admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry.description": "Notifications currently queued for retry",
+
"admin-notify-dashboard.NOTIFY.incoming.involvedItems": "Involved items",
+ "admin-notify-dashboard.NOTIFY.incoming.involvedItems.description": "Items related to inbound notifications",
+
"admin-notify-dashboard.NOTIFY.outgoing.involvedItems": "Involved items",
+ "admin-notify-dashboard.NOTIFY.outgoing.involvedItems.description": "Items related to outbound notifications",
+
"admin.notify.dashboard.breadcrumbs": "Dashboard",
"admin.notify.dashboard.inbound": "Inbound messages",
diff --git a/src/config/default-app-config.ts b/src/config/default-app-config.ts
index e78f7aabc9..0640b40a7a 100644
--- a/src/config/default-app-config.ts
+++ b/src/config/default-app-config.ts
@@ -462,28 +462,33 @@ export class DefaultAppConfig implements AppConfig {
{
color: '#B8DAFF',
title: 'admin-notify-dashboard.NOTIFY.incoming.accepted',
- config: 'NOTIFY.incoming.accepted'
+ config: 'NOTIFY.incoming.accepted',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.accepted.description'
},
{
color: '#D4EDDA',
title: 'admin-notify-dashboard.NOTIFY.incoming.processed',
- config: 'NOTIFY.incoming.processed'
+ config: 'NOTIFY.incoming.processed',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.processed.description'
},
{
color: '#FDBBC7',
title: 'admin-notify-dashboard.NOTIFY.incoming.failure',
- config: 'NOTIFY.incoming.failure'
+ config: 'NOTIFY.incoming.failure',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.failure.description'
},
{
color: '#FDBBC7',
title: 'admin-notify-dashboard.NOTIFY.incoming.untrusted',
- config: 'NOTIFY.incoming.untrusted'
+ config: 'NOTIFY.incoming.untrusted',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.untrusted.description'
},
{
color: '#43515F',
title: 'admin-notify-dashboard.NOTIFY.incoming.involvedItems',
textColor: '#fff',
config: 'NOTIFY.incoming.involvedItems',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.involvedItems.description'
},
]
},
@@ -493,28 +498,33 @@ export class DefaultAppConfig implements AppConfig {
{
color: '#D4EDDA',
title: 'admin-notify-dashboard.NOTIFY.outgoing.delivered',
- config: 'NOTIFY.outgoing.delivered'
+ config: 'NOTIFY.outgoing.delivered',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.delivered.description'
},
{
color: '#B8DAFF',
title: 'admin-notify-dashboard.NOTIFY.outgoing.queued',
- config: 'NOTIFY.outgoing.queued'
+ config: 'NOTIFY.outgoing.queued',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.queued.description'
},
{
color: '#FDEEBB',
title: 'admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry',
- config: 'NOTIFY.outgoing.queued_for_retry'
+ config: 'NOTIFY.outgoing.queued_for_retry',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry.description'
},
{
color: '#FDBBC7',
title: 'admin-notify-dashboard.NOTIFY.outgoing.failure',
- config: 'NOTIFY.outgoing.failure'
+ config: 'NOTIFY.outgoing.failure',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.failure.description'
},
{
color: '#43515F',
title: 'admin-notify-dashboard.NOTIFY.outgoing.involvedItems',
textColor: '#fff',
config: 'NOTIFY.outgoing.involvedItems',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.involvedItems.description'
},
]
}
diff --git a/src/environments/environment.test.ts b/src/environments/environment.test.ts
index f920c16f7e..2d86ee6101 100644
--- a/src/environments/environment.test.ts
+++ b/src/environments/environment.test.ts
@@ -331,29 +331,34 @@ export const environment: BuildConfig = {
boxes: [
{
color: '#B8DAFF',
- title: 'admin-notify-dashboard.accepted',
- config: 'NOTIFY.incoming.accepted'
+ title: 'admin-notify-dashboard.NOTIFY.incoming.accepted',
+ config: 'NOTIFY.incoming.accepted',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.accepted.description'
},
{
color: '#D4EDDA',
- title: 'admin-notify-dashboard.processed',
- config: 'NOTIFY.incoming.processed'
+ title: 'admin-notify-dashboard.NOTIFY.incoming.processed',
+ config: 'NOTIFY.incoming.processed',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.processed.description'
},
{
color: '#FDBBC7',
- title: 'admin-notify-dashboard.failure',
- config: 'NOTIFY.incoming.failure'
+ title: 'admin-notify-dashboard.NOTIFY.incoming.failure',
+ config: 'NOTIFY.incoming.failure',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.failure.description'
},
{
color: '#FDBBC7',
- title: 'admin-notify-dashboard.untrusted',
- config: 'NOTIFY.incoming.untrusted'
+ title: 'admin-notify-dashboard.NOTIFY.incoming.untrusted',
+ config: 'NOTIFY.incoming.untrusted',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.untrusted.description'
},
{
color: '#43515F',
- title: 'admin-notify-dashboard.involved-items',
+ title: 'admin-notify-dashboard.NOTIFY.incoming.involvedItems',
textColor: '#fff',
config: 'NOTIFY.incoming.involvedItems',
+ description: 'admin-notify-dashboard.NOTIFY.incoming.involvedItems.description'
},
]
},
@@ -362,29 +367,34 @@ export const environment: BuildConfig = {
boxes: [
{
color: '#D4EDDA',
- title: 'admin-notify-dashboard.delivered',
- config: 'NOTIFY.outgoing.delivered'
+ title: 'admin-notify-dashboard.NOTIFY.outgoing.delivered',
+ config: 'NOTIFY.outgoing.delivered',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.delivered.description'
},
{
color: '#B8DAFF',
- title: 'admin-notify-dashboard.queued',
- config: 'NOTIFY.outgoing.queued'
+ title: 'admin-notify-dashboard.NOTIFY.outgoing.queued',
+ config: 'NOTIFY.outgoing.queued',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.queued.description'
},
{
color: '#FDEEBB',
- title: 'admin-notify-dashboard.queued-for-retry',
- config: 'NOTIFY.outgoing.queued_for_retry'
+ title: 'admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry',
+ config: 'NOTIFY.outgoing.queued_for_retry',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry.description'
},
{
color: '#FDBBC7',
- title: 'admin-notify-dashboard.failure',
- config: 'NOTIFY.outgoing.failure'
+ title: 'admin-notify-dashboard.NOTIFY.outgoing.failure',
+ config: 'NOTIFY.outgoing.failure',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.failure.description'
},
{
color: '#43515F',
- title: 'admin-notify-dashboard.involved-items',
+ title: 'admin-notify-dashboard.NOTIFY.outgoing.involvedItems',
textColor: '#fff',
config: 'NOTIFY.outgoing.involvedItems',
+ description: 'admin-notify-dashboard.NOTIFY.outgoing.involvedItems.description'
},
]
}
|