mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
[CST-12791] changed the route for suggestions to be be accessible to any logged in user
This commit is contained in:
@@ -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}`;
|
||||||
}
|
}
|
||||||
|
@@ -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();
|
||||||
|
}
|
||||||
|
@@ -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')
|
||||||
|
@@ -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')
|
||||||
|
@@ -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>
|
||||||
|
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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 */
|
||||||
|
@@ -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 }}
|
||||||
|
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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>
|
||||||
|
@@ -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.
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user