From 1a65b56c2bcc8a5085dda0ace4ae5b7988e6fce0 Mon Sep 17 00:00:00 2001 From: FrancescoMolinaro Date: Wed, 17 Jan 2024 16:42:06 +0100 Subject: [PATCH 1/3] configure menu section, reprocess button condition --- .../admin-notify-search-result.component.html | 5 +- .../admin-notify-search-result.component.ts | 2 + src/app/menu.resolver.ts | 80 +++++++++---------- 3 files changed, 45 insertions(+), 42 deletions(-) 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..50915ed007 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 @@ -33,7 +33,10 @@
-
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..9270654048 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 @@ -33,6 +33,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, { From b870d538f7ea8d0e719f5689154f5c2c906e325e Mon Sep 17 00:00:00 2001 From: FrancescoMolinaro Date: Wed, 17 Jan 2024 17:05:27 +0100 Subject: [PATCH 2/3] add dashboard description --- .../admin-notify-dashboard.component.html | 1 + src/assets/i18n/en.json5 | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-dashboard.component.html b/src/app/admin/admin-notify-dashboard/admin-notify-dashboard.component.html index 45872ae9c1..b155b06408 100644 --- a/src/app/admin/admin-notify-dashboard/admin-notify-dashboard.component.html +++ b/src/app/admin/admin-notify-dashboard/admin-notify-dashboard.component.html @@ -2,6 +2,7 @@

{{'admin-notify-dashboard.title'| translate}}

+
{{'admin-notify-dashboard.description' | translate}}