[CST-12791] changed the route for suggestions to be be accessible to any logged in user

This commit is contained in:
Alisa Ismailati
2023-11-30 13:01:46 +01:00
parent 1153c906ac
commit 71bc0192e3
11 changed files with 49 additions and 23 deletions

View File

@@ -1,9 +1,7 @@
import { URLCombiner } from '../../core/url-combiner/url-combiner';
import { getNotificationsModuleRoute } from '../admin-routing-paths';
export const QUALITY_ASSURANCE_EDIT_PATH = 'quality-assurance'; export const QUALITY_ASSURANCE_EDIT_PATH = 'quality-assurance';
export const NOTIFICATIONS_RECITER_SUGGESTION_PATH = 'suggestion-targets'; export const NOTIFICATIONS_RECITER_SUGGESTION_PATH = 'suggestion-targets';
export function getQualityAssuranceRoute(id: string) { export function getQualityAssuranceEditRoute() {
return new URLCombiner(getNotificationsModuleRoute(), QUALITY_ASSURANCE_EDIT_PATH, id).toString(); return `/${QUALITY_ASSURANCE_EDIT_PATH}`;
} }

View File

@@ -1,5 +1,6 @@
import { URLCombiner } from '../core/url-combiner/url-combiner'; import { URLCombiner } from '../core/url-combiner/url-combiner';
import { getAdminModuleRoute } from '../app-routing-paths'; import { getAdminModuleRoute } from '../app-routing-paths';
import { getQualityAssuranceEditRoute } from './admin-notifications/admin-notifications-routing-paths';
export const REGISTRIES_MODULE_PATH = 'registries'; export const REGISTRIES_MODULE_PATH = 'registries';
export const NOTIFICATIONS_MODULE_PATH = 'notifications'; export const NOTIFICATIONS_MODULE_PATH = 'notifications';
@@ -10,12 +11,10 @@ export function getRegistriesModuleRoute() {
return new URLCombiner(getAdminModuleRoute(), REGISTRIES_MODULE_PATH).toString(); return new URLCombiner(getAdminModuleRoute(), REGISTRIES_MODULE_PATH).toString();
} }
export function getNotificationsModuleRoute() {
return new URLCombiner(getAdminModuleRoute(), NOTIFICATIONS_MODULE_PATH).toString();
}
export function getLdnServicesModuleRoute() { export function getLdnServicesModuleRoute() {
return new URLCombiner(getAdminModuleRoute(), LDN_PATH).toString(); return new URLCombiner(getAdminModuleRoute(), LDN_PATH).toString();
} }
export function getNotificatioQualityAssuranceRoute() {
return new URLCombiner(`/${NOTIFICATIONS_MODULE_PATH}`, getQualityAssuranceEditRoute()).toString();
}

View File

@@ -6,17 +6,12 @@ import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.reso
import { AdminWorkflowPageComponent } from './admin-workflow-page/admin-workflow-page.component'; import { AdminWorkflowPageComponent } from './admin-workflow-page/admin-workflow-page.component';
import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service'; import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service';
import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component'; import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component';
import { LDN_PATH, REGISTRIES_MODULE_PATH, NOTIFICATIONS_MODULE_PATH } from './admin-routing-paths'; import { LDN_PATH, REGISTRIES_MODULE_PATH } from './admin-routing-paths';
import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component'; import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component';
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{
path: NOTIFICATIONS_MODULE_PATH,
loadChildren: () => import('./admin-notifications/admin-notifications.module')
.then((m) => m.AdminNotificationsModule),
},
{ {
path: REGISTRIES_MODULE_PATH, path: REGISTRIES_MODULE_PATH,
loadChildren: () => import('./admin-registries/admin-registries.module') loadChildren: () => import('./admin-registries/admin-registries.module')

View File

@@ -41,6 +41,7 @@ import { ServerCheckGuard } from './core/server-check/server-check.guard';
import { SUGGESTION_MODULE_PATH } from './suggestions-page/suggestions-page-routing-paths'; import { SUGGESTION_MODULE_PATH } from './suggestions-page/suggestions-page-routing-paths';
import { MenuResolver } from './menu.resolver'; import { MenuResolver } from './menu.resolver';
import { ThemedPageErrorComponent } from './page-error/themed-page-error.component'; import { ThemedPageErrorComponent } from './page-error/themed-page-error.component';
import { NOTIFICATIONS_MODULE_PATH } from './admin/admin-routing-paths';
@NgModule({ @NgModule({
imports: [ imports: [
@@ -157,6 +158,12 @@ import { ThemedPageErrorComponent } from './page-error/themed-page-error.compone
.then((m) => m.AdminModule), .then((m) => m.AdminModule),
canActivate: [SiteAdministratorGuard, EndUserAgreementCurrentUserGuard] canActivate: [SiteAdministratorGuard, EndUserAgreementCurrentUserGuard]
}, },
{
path: NOTIFICATIONS_MODULE_PATH,
loadChildren: () => import('./admin/admin-notifications/admin-notifications.module')
.then((m) => m.AdminNotificationsModule),
canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard]
},
{ {
path: 'login', path: 'login',
loadChildren: () => import('./login-page/login-page.module') loadChildren: () => import('./login-page/login-page.module')

View File

@@ -5,7 +5,7 @@
<div class="w-100 d-flex justify-content-between"> <div class="w-100 d-flex justify-content-between">
<div class="pl-4 align-self-center">{{'item.qa-event-notification.check.notification-info' | translate : {num: <div class="pl-4 align-self-center">{{'item.qa-event-notification.check.notification-info' | translate : {num:
source.totalEvents } }} </div> source.totalEvents } }} </div>
<button [routerLink]="['/admin/notifications/quality-assurance', (source.id | dsSplit: ':')[0], 'target', item.id]" <button [routerLink]="[ getQualityAssuranceRoute(), (source.id | dsSplit: ':')[0], 'target', item.id]"
class="btn btn-primary align-self-center">{{'item.qa-event-notification-info.check.button' | translate class="btn btn-primary align-self-center">{{'item.qa-event-notification-info.check.button' | translate
}}</button> }}</button>
</div> </div>

View File

@@ -7,8 +7,9 @@ import { FindListOptions } from '../../../core/data/find-list-options.model';
import { RequestParam } from '../../../core/cache/models/request-param.model'; import { RequestParam } from '../../../core/cache/models/request-param.model';
import { QualityAssuranceSourceDataService } from '../../../core/suggestion-notifications/qa/source/quality-assurance-source-data.service'; import { QualityAssuranceSourceDataService } from '../../../core/suggestion-notifications/qa/source/quality-assurance-source-data.service';
import { QualityAssuranceSourceObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-source.model'; import { QualityAssuranceSourceObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-source.model';
import { PaginatedList } from 'src/app/core/data/paginated-list.model'; import { PaginatedList } from '../../../core/data/paginated-list.model';
import { hasValue } from 'src/app/shared/empty.util'; import { hasValue } from '../../../shared/empty.util';
import { getNotificatioQualityAssuranceRoute } from '../../../admin/admin-routing-paths';
@Component({ @Component({
selector: 'ds-qa-event-notification', selector: 'ds-qa-event-notification',
@@ -53,4 +54,12 @@ export class QaEventNotificationComponent {
getPaginatedListPayload(), getPaginatedListPayload(),
); );
} }
/**
* Returns the quality assurance route.
* @returns The quality assurance route.
*/
getQualityAssuranceRoute(): string {
return getNotificatioQualityAssuranceRoute();
}
} }

View File

@@ -578,7 +578,7 @@ export class MenuResolver implements Resolve<boolean> {
model: { model: {
type: MenuItemType.LINK, type: MenuItemType.LINK,
text: 'menu.section.quality-assurance', text: 'menu.section.quality-assurance',
link: '/admin/notifications/quality-assurance' link: '/notifications/quality-assurance'
} as LinkMenuItemModel, } as LinkMenuItemModel,
}, },
{ {
@@ -589,7 +589,7 @@ export class MenuResolver implements Resolve<boolean> {
model: { model: {
type: MenuItemType.LINK, type: MenuItemType.LINK,
text: 'menu.section.notifications_reciter', text: 'menu.section.notifications_reciter',
link: '/admin/notifications/' + NOTIFICATIONS_RECITER_SUGGESTION_PATH link: '/notifications/' + NOTIFICATIONS_RECITER_SUGGESTION_PATH
} as LinkMenuItemModel, } as LinkMenuItemModel,
}, },
/* Admin Search */ /* Admin Search */

View File

@@ -17,7 +17,7 @@
}} }}
</div> </div>
<button <button
[routerLink]="['/admin/notifications/quality-assurance', source.id]" [routerLink]="[getQualityAssuranceRoute(), source.id]"
class="btn btn-primary align-self-center" class="btn btn-primary align-self-center"
> >
{{ "mydspace.qa-event-notification-info.check.button" | translate }} {{ "mydspace.qa-event-notification-info.check.button" | translate }}

View File

@@ -2,7 +2,8 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
import { QualityAssuranceSourceDataService } from '../../core/suggestion-notifications/qa/source/quality-assurance-source-data.service'; import { QualityAssuranceSourceDataService } from '../../core/suggestion-notifications/qa/source/quality-assurance-source-data.service';
import { getFirstCompletedRemoteData, getPaginatedListPayload, getRemoteDataPayload } from '../../core/shared/operators'; import { getFirstCompletedRemoteData, getPaginatedListPayload, getRemoteDataPayload } from '../../core/shared/operators';
import { Observable, of, tap } from 'rxjs'; import { Observable, of, tap } from 'rxjs';
import { QualityAssuranceSourceObject } from 'src/app/core/suggestion-notifications/qa/models/quality-assurance-source.model'; import { QualityAssuranceSourceObject } from '../../core/suggestion-notifications/qa/models/quality-assurance-source.model';
import { getNotificatioQualityAssuranceRoute } from '../../admin/admin-routing-paths';
@Component({ @Component({
selector: 'ds-my-dspace-qa-events-notifications', selector: 'ds-my-dspace-qa-events-notifications',
@@ -41,4 +42,12 @@ export class MyDspaceQaEventsNotificationsComponent implements OnInit {
getPaginatedListPayload(), getPaginatedListPayload(),
); );
} }
/**
* Retrieves the quality assurance route.
* @returns The quality assurance route.
*/
getQualityAssuranceRoute(): string {
return getNotificatioQualityAssuranceRoute();
}
} }

View File

@@ -44,7 +44,7 @@
<button <button
class="btn btn-outline-primary btn-sm" class="btn btn-outline-primary btn-sm"
title="{{'quality-assurance.button.detail' | translate }}" title="{{'quality-assurance.button.detail' | translate }}"
[routerLink]="['/admin/notifications/quality-assurance', sourceId, topicElement.id]"> [routerLink]="[getQualityAssuranceRoute(), sourceId, topicElement.id]">
<span class="badge badge-info">{{topicElement.totalEvents}}</span> <span class="badge badge-info">{{topicElement.totalEvents}}</span>
<i class="fas fa-info fa-fw"></i> <i class="fas fa-info fa-fw"></i>
</button> </button>

View File

@@ -19,6 +19,7 @@ import { ItemDataService } from '../../../core/data/item-data.service';
import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../../../core/shared/operators'; import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../../../core/shared/operators';
import { Item } from '../../../core/shared/item.model'; import { Item } from '../../../core/shared/item.model';
import { getItemPageRoute } from '../../../item-page/item-page-routing-paths'; import { getItemPageRoute } from '../../../item-page/item-page-routing-paths';
import { getNotificatioQualityAssuranceRoute } from '../../../admin/admin-routing-paths';
/** /**
* Component to display the Quality Assurance topic list. * Component to display the Quality Assurance topic list.
@@ -192,6 +193,14 @@ export class QualityAssuranceTopicsComponent implements OnInit {
return getItemPageRoute(item); return getItemPageRoute(item);
} }
/**
* Returns the quality assurance route.
* @returns The quality assurance route.
*/
getQualityAssuranceRoute(): string {
return getNotificatioQualityAssuranceRoute();
}
/** /**
* Unsubscribe from all subscriptions. * Unsubscribe from all subscriptions.
*/ */