diff --git a/src/app/admin/admin-notifications/admin-notifications-routing.module.ts b/src/app/admin/admin-notifications/admin-notifications-routing.module.ts index 596780bac2..3af922918e 100644 --- a/src/app/admin/admin-notifications/admin-notifications-routing.module.ts +++ b/src/app/admin/admin-notifications/admin-notifications-routing.module.ts @@ -11,9 +11,11 @@ import { AdminQualityAssuranceTopicsPageResolver } from './admin-quality-assuran import { AdminQualityAssuranceEventsPageResolver } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.resolver'; import { AdminQualityAssuranceSourcePageComponent } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page.component'; import { AdminQualityAssuranceSourcePageResolver } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page-resolver.service'; -import { SourceDataResolver } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.reslover'; import {QualityAssuranceBreadcrumbResolver} from '../../core/breadcrumbs/quality-assurance-breadcrumb.resolver'; import {QualityAssuranceBreadcrumbService} from '../../core/breadcrumbs/quality-assurance-breadcrumb.service'; +import { + SourceDataResolver +} from "./admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.resolver"; @NgModule({ imports: [ diff --git a/src/app/admin/admin-notifications/admin-notifications.module.ts b/src/app/admin/admin-notifications/admin-notifications.module.ts index 159baedfec..84475a1623 100644 --- a/src/app/admin/admin-notifications/admin-notifications.module.ts +++ b/src/app/admin/admin-notifications/admin-notifications.module.ts @@ -6,7 +6,7 @@ import { AdminNotificationsRoutingModule } from './admin-notifications-routing.m import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component'; import { AdminQualityAssuranceEventsPageComponent } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.component'; import { AdminQualityAssuranceSourcePageComponent } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page.component'; -import {SuggestionNotificationsModule} from '../../suggestion-notifications/suggestion-notifications.module'; +import {NotificationsModule} from '../../notifications/notifications.module'; @NgModule({ imports: [ @@ -14,7 +14,7 @@ import {SuggestionNotificationsModule} from '../../suggestion-notifications/sugg SharedModule, CoreModule.forRoot(), AdminNotificationsRoutingModule, - SuggestionNotificationsModule + NotificationsModule ], declarations: [ AdminQualityAssuranceTopicsPageComponent, diff --git a/src/app/admin/admin-notifications/admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.reslover.ts b/src/app/admin/admin-notifications/admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.resolver.ts similarity index 78% rename from src/app/admin/admin-notifications/admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.reslover.ts rename to src/app/admin/admin-notifications/admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.resolver.ts index 8475732aed..a6bfd6e7fe 100644 --- a/src/app/admin/admin-notifications/admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.reslover.ts +++ b/src/app/admin/admin-notifications/admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.resolver.ts @@ -3,13 +3,15 @@ import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot, Router } from '@a import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { QualityAssuranceSourceObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-source.model'; -import { QualityAssuranceSourceService } from '../../../suggestion-notifications/qa/source/quality-assurance-source.service'; +import { QualityAssuranceSourceObject } from '../../../core/notifications/qa/models/quality-assurance-source.model'; +import { QualityAssuranceSourceService } from '../../../notifications/qa/source/quality-assurance-source.service'; +import {environment} from '../../../../environments/environment'; /** * This class represents a resolver that retrieve the route data before the route is activated. */ @Injectable() export class SourceDataResolver implements Resolve> { + private pageSize = environment.qualityAssuranceConfig.pageSize; /** * Initialize the effect class variables. * @param {QualityAssuranceSourceService} qualityAssuranceSourceService @@ -25,7 +27,7 @@ export class SourceDataResolver implements Resolve */ resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable { - return this.qualityAssuranceSourceService.getSources(5,0).pipe( + return this.qualityAssuranceSourceService.getSources(this.pageSize, 0).pipe( map((sources: PaginatedList) => { if (sources.page.length === 1) { this.router.navigate([this.getResolvedUrl(route) + '/' + sources.page[0].id]); diff --git a/src/app/core/breadcrumbs/quality-assurance-breadcrumb.service.ts b/src/app/core/breadcrumbs/quality-assurance-breadcrumb.service.ts index 343ccbcc76..1d286a9b5e 100644 --- a/src/app/core/breadcrumbs/quality-assurance-breadcrumb.service.ts +++ b/src/app/core/breadcrumbs/quality-assurance-breadcrumb.service.ts @@ -5,9 +5,8 @@ import { Injectable } from '@angular/core'; import {map} from 'rxjs/operators'; import {getFirstCompletedRemoteData} from '../shared/operators'; import {TranslateService} from '@ngx-translate/core'; -import { - QualityAssuranceTopicDataService -} from '../suggestion-notifications/qa/topics/quality-assurance-topic-data.service'; +import {QualityAssuranceTopicDataService} from "../notifications/qa/topics/quality-assurance-topic-data.service"; + /** @@ -42,7 +41,7 @@ export class QualityAssuranceBreadcrumbService implements BreadcrumbsProviderSer map((topic) => { return [new Breadcrumb(this.translationService.instant(this.QUALITY_ASSURANCE_BREADCRUMB_KEY), url), new Breadcrumb(sourceId, `${url}${sourceId}`), - new Breadcrumb(topic.payload.name, undefined)]; + new Breadcrumb(topicId, undefined)]; }) ); } else { diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts index e176af7d55..b3abf5f877 100644 --- a/src/app/core/core.module.ts +++ b/src/app/core/core.module.ts @@ -157,9 +157,9 @@ import { SequenceService } from './shared/sequence.service'; import { CoreState } from './core-state.model'; import { GroupDataService } from './eperson/group-data.service'; import { SubmissionAccessesModel } from './config/models/config-submission-accesses.model'; -import { QualityAssuranceTopicObject } from './suggestion-notifications/qa/models/quality-assurance-topic.model'; -import { QualityAssuranceEventObject } from './suggestion-notifications/qa/models/quality-assurance-event.model'; -import { QualityAssuranceSourceObject } from './suggestion-notifications/qa/models/quality-assurance-source.model'; +import { QualityAssuranceTopicObject } from './notifications/qa/models/quality-assurance-topic.model'; +import { QualityAssuranceEventObject } from './notifications/qa/models/quality-assurance-event.model'; +import { QualityAssuranceSourceObject } from './notifications/qa/models/quality-assurance-source.model'; import { RatingAdvancedWorkflowInfo } from './tasks/models/rating-advanced-workflow-info.model'; import { AdvancedWorkflowInfo } from './tasks/models/advanced-workflow-info.model'; import { SelectReviewerAdvancedWorkflowInfo } from './tasks/models/select-reviewer-advanced-workflow-info.model'; diff --git a/src/app/core/data/feature-authorization/feature-id.ts b/src/app/core/data/feature-authorization/feature-id.ts index 8fef45a953..e2943f1762 100644 --- a/src/app/core/data/feature-authorization/feature-id.ts +++ b/src/app/core/data/feature-authorization/feature-id.ts @@ -34,4 +34,5 @@ export enum FeatureID { CanEditItem = 'canEditItem', CanRegisterDOI = 'canRegisterDOI', CanSubscribe = 'canSubscribeDso', + CanSeeQA = 'canSeeQA' } diff --git a/src/app/core/suggestion-notifications/qa/events/quality-assurance-event-data.service.spec.ts b/src/app/core/notifications/qa/events/quality-assurance-event-data.service.spec.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/events/quality-assurance-event-data.service.spec.ts rename to src/app/core/notifications/qa/events/quality-assurance-event-data.service.spec.ts diff --git a/src/app/core/suggestion-notifications/qa/events/quality-assurance-event-data.service.ts b/src/app/core/notifications/qa/events/quality-assurance-event-data.service.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/events/quality-assurance-event-data.service.ts rename to src/app/core/notifications/qa/events/quality-assurance-event-data.service.ts diff --git a/src/app/core/suggestion-notifications/qa/models/quality-assurance-event-object.resource-type.ts b/src/app/core/notifications/qa/models/quality-assurance-event-object.resource-type.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/models/quality-assurance-event-object.resource-type.ts rename to src/app/core/notifications/qa/models/quality-assurance-event-object.resource-type.ts diff --git a/src/app/core/suggestion-notifications/qa/models/quality-assurance-event.model.ts b/src/app/core/notifications/qa/models/quality-assurance-event.model.ts similarity index 95% rename from src/app/core/suggestion-notifications/qa/models/quality-assurance-event.model.ts rename to src/app/core/notifications/qa/models/quality-assurance-event.model.ts index 7517148def..0cdb4a5745 100644 --- a/src/app/core/suggestion-notifications/qa/models/quality-assurance-event.model.ts +++ b/src/app/core/notifications/qa/models/quality-assurance-event.model.ts @@ -22,7 +22,7 @@ export interface QualityAssuranceEventMessageObject { /** * The interface representing the Quality Assurance event message */ -export interface OpenaireQualityAssuranceEventMessageObject { +export interface SourceQualityAssuranceEventMessageObject { /** * The type of 'value' */ @@ -69,9 +69,9 @@ export interface OpenaireQualityAssuranceEventMessageObject { title: string; /** - * The OPENAIRE ID. + * The Source ID. */ - openaireId: string; + sourceId: string; /** * The PID href. @@ -136,7 +136,7 @@ export class QualityAssuranceEventObject implements CacheableObject { * The suggestion data. Data may vary depending on the source */ @autoserialize - message: OpenaireQualityAssuranceEventMessageObject; + message: SourceQualityAssuranceEventMessageObject; /** * The type of this ConfigObject diff --git a/src/app/core/suggestion-notifications/qa/models/quality-assurance-source-object.resource-type.ts b/src/app/core/notifications/qa/models/quality-assurance-source-object.resource-type.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/models/quality-assurance-source-object.resource-type.ts rename to src/app/core/notifications/qa/models/quality-assurance-source-object.resource-type.ts diff --git a/src/app/core/suggestion-notifications/qa/models/quality-assurance-source.model.ts b/src/app/core/notifications/qa/models/quality-assurance-source.model.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/models/quality-assurance-source.model.ts rename to src/app/core/notifications/qa/models/quality-assurance-source.model.ts diff --git a/src/app/core/suggestion-notifications/qa/models/quality-assurance-topic-object.resource-type.ts b/src/app/core/notifications/qa/models/quality-assurance-topic-object.resource-type.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/models/quality-assurance-topic-object.resource-type.ts rename to src/app/core/notifications/qa/models/quality-assurance-topic-object.resource-type.ts diff --git a/src/app/core/suggestion-notifications/qa/models/quality-assurance-topic.model.ts b/src/app/core/notifications/qa/models/quality-assurance-topic.model.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/models/quality-assurance-topic.model.ts rename to src/app/core/notifications/qa/models/quality-assurance-topic.model.ts diff --git a/src/app/core/suggestion-notifications/qa/source/quality-assurance-source-data.service.spec.ts b/src/app/core/notifications/qa/source/quality-assurance-source-data.service.spec.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/source/quality-assurance-source-data.service.spec.ts rename to src/app/core/notifications/qa/source/quality-assurance-source-data.service.spec.ts diff --git a/src/app/core/suggestion-notifications/qa/source/quality-assurance-source-data.service.ts b/src/app/core/notifications/qa/source/quality-assurance-source-data.service.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/source/quality-assurance-source-data.service.ts rename to src/app/core/notifications/qa/source/quality-assurance-source-data.service.ts diff --git a/src/app/core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service.spec.ts b/src/app/core/notifications/qa/topics/quality-assurance-topic-data.service.spec.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service.spec.ts rename to src/app/core/notifications/qa/topics/quality-assurance-topic-data.service.spec.ts diff --git a/src/app/core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service.ts b/src/app/core/notifications/qa/topics/quality-assurance-topic-data.service.ts similarity index 100% rename from src/app/core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service.ts rename to src/app/core/notifications/qa/topics/quality-assurance-topic-data.service.ts diff --git a/src/app/menu.resolver.ts b/src/app/menu.resolver.ts index 7a3a16d626..a9a247007f 100644 --- a/src/app/menu.resolver.ts +++ b/src/app/menu.resolver.ts @@ -530,13 +530,17 @@ 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 = [ /* Notifications */ { id: 'notifications', active: false, - visible: authorized, + visible: authorized && canSeeQA, model: { type: MenuItemType.TEXT, text: 'menu.section.notifications' diff --git a/src/app/suggestion-notifications/suggestion-notifications-effects.ts b/src/app/notifications/notifications-effects.ts similarity index 84% rename from src/app/suggestion-notifications/suggestion-notifications-effects.ts rename to src/app/notifications/notifications-effects.ts index ac5d9f8f92..bf70a05855 100644 --- a/src/app/suggestion-notifications/suggestion-notifications-effects.ts +++ b/src/app/notifications/notifications-effects.ts @@ -1,7 +1,7 @@ import { QualityAssuranceSourceEffects } from './qa/source/quality-assurance-source.effects'; import { QualityAssuranceTopicsEffects } from './qa/topics/quality-assurance-topics.effects'; -export const suggestionNotificationsEffects = [ +export const notificationsEffects = [ QualityAssuranceTopicsEffects, QualityAssuranceSourceEffects ]; diff --git a/src/app/suggestion-notifications/suggestion-notifications-state.service.spec.ts b/src/app/notifications/notifications-state.service.spec.ts similarity index 93% rename from src/app/suggestion-notifications/suggestion-notifications-state.service.spec.ts rename to src/app/notifications/notifications-state.service.spec.ts index ac669ed954..f07b4f5697 100644 --- a/src/app/suggestion-notifications/suggestion-notifications-state.service.spec.ts +++ b/src/app/notifications/notifications-state.service.spec.ts @@ -2,8 +2,8 @@ import { TestBed } from '@angular/core/testing'; import { Store, StoreModule } from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; import { cold } from 'jasmine-marbles'; -import { suggestionNotificationsReducers } from './suggestion-notifications.reducer'; -import { SuggestionNotificationsStateService } from './suggestion-notifications-state.service'; +import { suggestionNotificationsReducers } from './notifications.reducer'; +import { NotificationsStateService } from './notifications-state.service'; import { qualityAssuranceSourceObjectMissingPid, qualityAssuranceSourceObjectMoreAbstract, @@ -16,7 +16,7 @@ import { RetrieveAllTopicsAction } from './qa/topics/quality-assurance-topics.ac import { RetrieveAllSourceAction } from './qa/source/quality-assurance-source.actions'; describe('NotificationsStateService', () => { - let service: SuggestionNotificationsStateService; + let service: NotificationsStateService; let serviceAsAny: any; let store: any; let initialState: any; @@ -67,14 +67,14 @@ describe('NotificationsStateService', () => { ], providers: [ provideMockStore({ initialState }), - { provide: SuggestionNotificationsStateService, useValue: service } + { provide: NotificationsStateService, useValue: service } ] }).compileComponents(); }); beforeEach(() => { store = TestBed.get(Store); - service = new SuggestionNotificationsStateService(store); + service = new NotificationsStateService(store); serviceAsAny = service; spyOn(store, 'dispatch'); }); @@ -159,14 +159,14 @@ describe('NotificationsStateService', () => { ], providers: [ provideMockStore({ initialState }), - { provide: SuggestionNotificationsStateService, useValue: service } + { provide: NotificationsStateService, useValue: service } ] }).compileComponents(); }); beforeEach(() => { store = TestBed.get(Store); - service = new SuggestionNotificationsStateService(store); + service = new NotificationsStateService(store); serviceAsAny = service; spyOn(store, 'dispatch'); }); @@ -255,14 +255,14 @@ describe('NotificationsStateService', () => { ], providers: [ provideMockStore({ initialState }), - { provide: SuggestionNotificationsStateService, useValue: service } + { provide: NotificationsStateService, useValue: service } ] }).compileComponents(); }); beforeEach(() => { store = TestBed.get(Store); - service = new SuggestionNotificationsStateService(store); + service = new NotificationsStateService(store); serviceAsAny = service; spyOn(store, 'dispatch'); }); @@ -325,14 +325,14 @@ describe('NotificationsStateService', () => { ], providers: [ provideMockStore({ initialState }), - { provide: SuggestionNotificationsStateService, useValue: service } + { provide: NotificationsStateService, useValue: service } ] }).compileComponents(); }); beforeEach(() => { store = TestBed.get(Store); - service = new SuggestionNotificationsStateService(store); + service = new NotificationsStateService(store); serviceAsAny = service; spyOn(store, 'dispatch'); }); @@ -417,14 +417,14 @@ describe('NotificationsStateService', () => { ], providers: [ provideMockStore({ initialState }), - { provide: SuggestionNotificationsStateService, useValue: service } + { provide: NotificationsStateService, useValue: service } ] }).compileComponents(); }); beforeEach(() => { store = TestBed.get(Store); - service = new SuggestionNotificationsStateService(store); + service = new NotificationsStateService(store); serviceAsAny = service; spyOn(store, 'dispatch'); }); @@ -513,14 +513,14 @@ describe('NotificationsStateService', () => { ], providers: [ provideMockStore({ initialState }), - { provide: SuggestionNotificationsStateService, useValue: service } + { provide: NotificationsStateService, useValue: service } ] }).compileComponents(); }); beforeEach(() => { store = TestBed.get(Store); - service = new SuggestionNotificationsStateService(store); + service = new NotificationsStateService(store); serviceAsAny = service; spyOn(store, 'dispatch'); }); diff --git a/src/app/suggestion-notifications/suggestion-notifications-state.service.ts b/src/app/notifications/notifications-state.service.ts similarity index 95% rename from src/app/suggestion-notifications/suggestion-notifications-state.service.ts rename to src/app/notifications/notifications-state.service.ts index ec1ea2e039..c123cfa304 100644 --- a/src/app/suggestion-notifications/suggestion-notifications-state.service.ts +++ b/src/app/notifications/notifications-state.service.ts @@ -16,17 +16,17 @@ import { getQualityAssuranceSourceCurrentPageSelector, getQualityAssuranceSourceTotalsSelector } from './selectors'; -import { QualityAssuranceTopicObject } from '../core/suggestion-notifications/qa/models/quality-assurance-topic.model'; -import { SuggestionNotificationsState } from './suggestion-notifications.reducer'; +import { QualityAssuranceTopicObject } from '../core/notifications/qa/models/quality-assurance-topic.model'; +import { SuggestionNotificationsState } from './notifications.reducer'; import { RetrieveAllTopicsAction } from './qa/topics/quality-assurance-topics.actions'; -import { QualityAssuranceSourceObject } from '../core/suggestion-notifications/qa/models/quality-assurance-source.model'; +import { QualityAssuranceSourceObject } from '../core/notifications/qa/models/quality-assurance-source.model'; import { RetrieveAllSourceAction } from './qa/source/quality-assurance-source.actions'; /** * The service handling the Notifications State. */ @Injectable() -export class SuggestionNotificationsStateService { +export class NotificationsStateService { /** * Initialize the service variables. diff --git a/src/app/suggestion-notifications/suggestion-notifications.module.ts b/src/app/notifications/notifications.module.ts similarity index 78% rename from src/app/suggestion-notifications/suggestion-notifications.module.ts rename to src/app/notifications/notifications.module.ts index eac527d672..7003ed3cc8 100644 --- a/src/app/suggestion-notifications/suggestion-notifications.module.ts +++ b/src/app/notifications/notifications.module.ts @@ -8,16 +8,16 @@ import { SharedModule } from '../shared/shared.module'; import { storeModuleConfig } from '../app.reducer'; import { QualityAssuranceTopicsComponent } from './qa/topics/quality-assurance-topics.component'; import { QualityAssuranceEventsComponent } from './qa/events/quality-assurance-events.component'; -import { SuggestionNotificationsStateService } from './suggestion-notifications-state.service'; -import { suggestionNotificationsReducers, SuggestionNotificationsState } from './suggestion-notifications.reducer'; -import { suggestionNotificationsEffects } from './suggestion-notifications-effects'; +import { NotificationsStateService } from './notifications-state.service'; +import { suggestionNotificationsReducers, SuggestionNotificationsState } from './notifications.reducer'; +import { notificationsEffects } from './notifications-effects'; import { QualityAssuranceTopicsService } from './qa/topics/quality-assurance-topics.service'; import { QualityAssuranceTopicDataService -} from '../core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service'; +} from '../core/notifications/qa/topics/quality-assurance-topic-data.service'; import { QualityAssuranceEventDataService -} from '../core/suggestion-notifications/qa/events/quality-assurance-event-data.service'; +} from '../core/notifications/qa/events/quality-assurance-event-data.service'; import { ProjectEntryImportModalComponent } from './qa/project-entry-import-modal/project-entry-import-modal.component'; import { TranslateModule } from '@ngx-translate/core'; import { SearchModule } from '../shared/search/search.module'; @@ -25,7 +25,7 @@ import { QualityAssuranceSourceComponent } from './qa/source/quality-assurance-s import { QualityAssuranceSourceService } from './qa/source/quality-assurance-source.service'; import { QualityAssuranceSourceDataService -} from '../core/suggestion-notifications/qa/source/quality-assurance-source-data.service'; +} from '../core/notifications/qa/source/quality-assurance-source-data.service'; const MODULES = [ CommonModule, @@ -33,7 +33,7 @@ const MODULES = [ SearchModule, CoreModule.forRoot(), StoreModule.forFeature('suggestionNotifications', suggestionNotificationsReducers, storeModuleConfig as StoreConfig), - EffectsModule.forFeature(suggestionNotificationsEffects), + EffectsModule.forFeature(notificationsEffects), TranslateModule ]; @@ -50,7 +50,7 @@ const ENTRY_COMPONENTS = [ ]; const PROVIDERS = [ - SuggestionNotificationsStateService, + NotificationsStateService, QualityAssuranceTopicsService, QualityAssuranceSourceService, QualityAssuranceTopicDataService, @@ -82,5 +82,5 @@ const PROVIDERS = [ /** * This module handles all components that are necessary for the OpenAIRE components */ -export class SuggestionNotificationsModule { +export class NotificationsModule { } diff --git a/src/app/suggestion-notifications/suggestion-notifications.reducer.ts b/src/app/notifications/notifications.reducer.ts similarity index 100% rename from src/app/suggestion-notifications/suggestion-notifications.reducer.ts rename to src/app/notifications/notifications.reducer.ts diff --git a/src/app/suggestion-notifications/qa/events/quality-assurance-events.component.html b/src/app/notifications/qa/events/quality-assurance-events.component.html similarity index 89% rename from src/app/suggestion-notifications/qa/events/quality-assurance-events.component.html rename to src/app/notifications/qa/events/quality-assurance-events.component.html index 9e60f1fd25..d87ff1b353 100644 --- a/src/app/suggestion-notifications/qa/events/quality-assurance-events.component.html +++ b/src/app/notifications/qa/events/quality-assurance-events.component.html @@ -48,13 +48,14 @@ {{eventElement.title}} {{eventElement.title}}

{{'quality-assurance.event.table.pidtype' | translate}} {{eventElement.event.message.type}}

{{'quality-assurance.event.table.pidvalue' | translate}}
- + {{eventElement.event.message.value}} {{eventElement.event.message.value}} @@ -80,7 +81,7 @@

{{'quality-assurance.event.table.project' | translate}}
- {{eventElement.event.message.title}} + {{eventElement.event.message.title}}

{{'quality-assurance.event.table.acronym' | translate}} {{eventElement.event.message.acronym}}
@@ -92,18 +93,22 @@


{{(eventElement.hasProject ? 'quality-assurance.event.project.found' : 'quality-assurance.event.project.notFound') | translate}} - {{eventElement.handle}} + {{eventElement.handle}}
@@ -116,7 +121,9 @@ ngbTooltip="{{'quality-assurance.event.action.import' | translate}}" container="body" [disabled]="eventElement.isRunning" - (click)="modalChoice('ACCEPTED', eventElement, acceptModal)"> + (click)="modalChoice('ACCEPTED', eventElement, acceptModal)" + [attr.aria-label]="'quality-assurance.event.action.import' | translate" + >
diff --git a/src/app/suggestion-notifications/qa/events/quality-assurance-events.component.scss b/src/app/notifications/qa/events/quality-assurance-events.component.scss similarity index 100% rename from src/app/suggestion-notifications/qa/events/quality-assurance-events.component.scss rename to src/app/notifications/qa/events/quality-assurance-events.component.scss diff --git a/src/app/suggestion-notifications/qa/events/quality-assurance-events.component.spec.ts b/src/app/notifications/qa/events/quality-assurance-events.component.spec.ts similarity index 98% rename from src/app/suggestion-notifications/qa/events/quality-assurance-events.component.spec.ts rename to src/app/notifications/qa/events/quality-assurance-events.component.spec.ts index 04ece87fbb..3349dd3154 100644 --- a/src/app/suggestion-notifications/qa/events/quality-assurance-events.component.spec.ts +++ b/src/app/notifications/qa/events/quality-assurance-events.component.spec.ts @@ -7,7 +7,7 @@ import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { of as observableOf } from 'rxjs'; import { QualityAssuranceEventDataService -} from '../../../core/suggestion-notifications/qa/events/quality-assurance-event-data.service'; +} from '../../../core/notifications/qa/events/quality-assurance-event-data.service'; import { QualityAssuranceEventsComponent } from './quality-assurance-events.component'; import { getMockQualityAssuranceEventRestService, @@ -26,7 +26,7 @@ import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; import { QualityAssuranceEventObject -} from '../../../core/suggestion-notifications/qa/models/quality-assurance-event.model'; +} from '../../../core/notifications/qa/models/quality-assurance-event.model'; import { QualityAssuranceEventData } from '../project-entry-import-modal/project-entry-import-modal.component'; import { TestScheduler } from 'rxjs/testing'; import { cold, getTestScheduler } from 'jasmine-marbles'; diff --git a/src/app/suggestion-notifications/qa/events/quality-assurance-events.component.ts b/src/app/notifications/qa/events/quality-assurance-events.component.ts similarity index 96% rename from src/app/suggestion-notifications/qa/events/quality-assurance-events.component.ts rename to src/app/notifications/qa/events/quality-assurance-events.component.ts index e34c121f35..a54186f957 100644 --- a/src/app/suggestion-notifications/qa/events/quality-assurance-events.component.ts +++ b/src/app/notifications/qa/events/quality-assurance-events.component.ts @@ -10,12 +10,12 @@ import { SortDirection, SortOptions } from '../../../core/cache/models/sort-opti import { PaginatedList } from '../../../core/data/paginated-list.model'; import { RemoteData } from '../../../core/data/remote-data'; import { - OpenaireQualityAssuranceEventMessageObject, + SourceQualityAssuranceEventMessageObject, QualityAssuranceEventObject -} from '../../../core/suggestion-notifications/qa/models/quality-assurance-event.model'; +} from '../../../core/notifications/qa/models/quality-assurance-event.model'; import { QualityAssuranceEventDataService -} from '../../../core/suggestion-notifications/qa/events/quality-assurance-event-data.service'; +} from '../../../core/notifications/qa/events/quality-assurance-event-data.service'; import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; import { Metadata } from '../../../core/shared/metadata.utils'; import { followLink } from '../../../shared/utils/follow-link-config.model'; @@ -30,6 +30,7 @@ import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; import { PaginationService } from '../../../core/pagination/pagination.service'; import { Item } from '../../../core/shared/item.model'; import { FindListOptions } from '../../../core/data/find-list-options.model'; +import {environment} from '../../../../environments/environment'; /** * Component to display the Quality Assurance event list. @@ -95,6 +96,10 @@ export class QualityAssuranceEventsComponent implements OnInit, OnDestroy { * @type {boolean} */ public showMore = false; + /** + * The quality assurance source base url for project search + */ + public sourceUrlForProjectSearch = environment.qualityAssuranceConfig.sourceUrlForProjectSearch; /** * The FindListOptions object */ @@ -140,7 +145,6 @@ export class QualityAssuranceEventsComponent implements OnInit, OnDestroy { return this.getQualityAssuranceEvents(); }) ).subscribe((events: QualityAssuranceEventData[]) => { - console.log(events); this.eventsUpdated$.next(events); this.isEventPageLoading.next(false); }); @@ -328,7 +332,7 @@ export class QualityAssuranceEventsComponent implements OnInit, OnDestroy { * Check if the event has a valid href. * @param event */ - public hasPIDHref(event: OpenaireQualityAssuranceEventMessageObject): boolean { + public hasPIDHref(event: SourceQualityAssuranceEventMessageObject): boolean { return this.getPIDHref(event) !== null; } @@ -336,7 +340,7 @@ export class QualityAssuranceEventsComponent implements OnInit, OnDestroy { * Get the event pid href. * @param event */ - public getPIDHref(event: OpenaireQualityAssuranceEventMessageObject): string { + public getPIDHref(event: SourceQualityAssuranceEventMessageObject): string { return event.pidHref; } @@ -356,7 +360,6 @@ export class QualityAssuranceEventsComponent implements OnInit, OnDestroy { if (rd.hasSucceeded) { this.totalElements$.next(rd.payload.totalElements); if (rd.payload.totalElements > 0) { - console.log(rd.payload.page); return this.fetchEvents(rd.payload.page); } else { return of([]); diff --git a/src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.html b/src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.html similarity index 94% rename from src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.html rename to src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.html index 42eb7e4b16..0622e08ab0 100644 --- a/src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.html +++ b/src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.html @@ -9,7 +9,7 @@ {{ (labelPrefix + label + '.publication' | translate) }}
@@ -18,7 +18,7 @@ {{ (labelPrefix + label + '.bountToLocal' |translate) }}
diff --git a/src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.scss b/src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.scss similarity index 100% rename from src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.scss rename to src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.scss diff --git a/src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.spec.ts b/src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.spec.ts similarity index 100% rename from src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.spec.ts rename to src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.spec.ts diff --git a/src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.ts b/src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.ts similarity index 97% rename from src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.ts rename to src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.ts index 1a43f59a1f..ad9c1035a5 100644 --- a/src/app/suggestion-notifications/qa/project-entry-import-modal/project-entry-import-modal.component.ts +++ b/src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.ts @@ -13,9 +13,9 @@ import { PaginationComponentOptions } from '../../../shared/pagination/paginatio import { SearchService } from '../../../core/shared/search/search.service'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { - OpenaireQualityAssuranceEventMessageObject, + SourceQualityAssuranceEventMessageObject, QualityAssuranceEventObject, -} from '../../../core/suggestion-notifications/qa/models/quality-assurance-event.model'; +} from '../../../core/notifications/qa/models/quality-assurance-event.model'; import { hasValue, isNotEmpty } from '../../../shared/empty.util'; import { Item } from '../../../core/shared/item.model'; @@ -180,7 +180,7 @@ export class ProjectEntryImportModalComponent implements OnInit { public ngOnInit(): void { this.pagination = Object.assign(new PaginationComponentOptions(), { id: 'notifications-project-bound', pageSize: this.pageSize }); this.projectTitle = (this.externalSourceEntry.projectTitle !== null) ? this.externalSourceEntry.projectTitle - : (this.externalSourceEntry.event.message as OpenaireQualityAssuranceEventMessageObject).title; + : (this.externalSourceEntry.event.message as SourceQualityAssuranceEventMessageObject).title; this.searchOptions = Object.assign(new PaginatedSearchOptions( { configuration: this.configuration, diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.actions.ts b/src/app/notifications/qa/source/quality-assurance-source.actions.ts similarity index 85% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.actions.ts rename to src/app/notifications/qa/source/quality-assurance-source.actions.ts index 06db9dda06..f6d9c19eaa 100644 --- a/src/app/suggestion-notifications/qa/source/quality-assurance-source.actions.ts +++ b/src/app/notifications/qa/source/quality-assurance-source.actions.ts @@ -1,7 +1,7 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; import { type } from '../../../shared/ngrx/type'; -import { QualityAssuranceSourceObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-source.model'; +import { QualityAssuranceSourceObject } from '../../../core/notifications/qa/models/quality-assurance-source.model'; /** * For each action type in an action group, make a simple @@ -12,9 +12,9 @@ import { QualityAssuranceSourceObject } from '../../../core/suggestion-notificat * action types in the application are unique. */ export const QualityAssuranceSourceActionTypes = { - ADD_SOURCE: type('dspace/integration/suggestion-notifications/qa/ADD_SOURCE'), - RETRIEVE_ALL_SOURCE: type('dspace/integration/suggestion-notifications/qa/RETRIEVE_ALL_SOURCE'), - RETRIEVE_ALL_SOURCE_ERROR: type('dspace/integration/suggestion-notifications/qa/RETRIEVE_ALL_SOURCE_ERROR'), + ADD_SOURCE: type('dspace/integration/notifications/qa/ADD_SOURCE'), + RETRIEVE_ALL_SOURCE: type('dspace/integration/notifications/qa/RETRIEVE_ALL_SOURCE'), + RETRIEVE_ALL_SOURCE_ERROR: type('dspace/integration/notifications/qa/RETRIEVE_ALL_SOURCE_ERROR'), }; /** diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.component.html b/src/app/notifications/qa/source/quality-assurance-source.component.html similarity index 100% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.component.html rename to src/app/notifications/qa/source/quality-assurance-source.component.html diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.component.scss b/src/app/notifications/qa/source/quality-assurance-source.component.scss similarity index 100% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.component.scss rename to src/app/notifications/qa/source/quality-assurance-source.component.scss diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.component.spec.ts b/src/app/notifications/qa/source/quality-assurance-source.component.spec.ts similarity index 96% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.component.spec.ts rename to src/app/notifications/qa/source/quality-assurance-source.component.spec.ts index 2f588125b2..ba3a903cc5 100644 --- a/src/app/suggestion-notifications/qa/source/quality-assurance-source.component.spec.ts +++ b/src/app/notifications/qa/source/quality-assurance-source.component.spec.ts @@ -11,7 +11,7 @@ import { qualityAssuranceSourceObjectMorePid } from '../../../shared/mocks/notifications.mock'; import { QualityAssuranceSourceComponent } from './quality-assurance-source.component'; -import { SuggestionNotificationsStateService } from '../../suggestion-notifications-state.service'; +import { NotificationsStateService } from '../../notifications-state.service'; import { cold } from 'jasmine-marbles'; import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; import { PaginationService } from '../../../core/pagination/pagination.service'; @@ -40,7 +40,7 @@ describe('QualityAssuranceSourceComponent test suite', () => { TestComponent, ], providers: [ - { provide: SuggestionNotificationsStateService, useValue: mockNotificationsStateService }, + { provide: NotificationsStateService, useValue: mockNotificationsStateService }, { provide: ActivatedRoute, useValue: { data: observableOf(activatedRouteParams), params: observableOf({}) } }, { provide: PaginationService, useValue: paginationService }, QualityAssuranceSourceComponent diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.component.ts b/src/app/notifications/qa/source/quality-assurance-source.component.ts similarity index 92% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.component.ts rename to src/app/notifications/qa/source/quality-assurance-source.component.ts index f6f02d9ab9..aef56d09c7 100644 --- a/src/app/suggestion-notifications/qa/source/quality-assurance-source.component.ts +++ b/src/app/notifications/qa/source/quality-assurance-source.component.ts @@ -3,9 +3,9 @@ import { PaginationService } from '../../../core/pagination/pagination.service'; import { Observable, Subscription } from 'rxjs'; import { distinctUntilChanged, take } from 'rxjs/operators'; import { SortOptions } from '../../../core/cache/models/sort-options.model'; -import { QualityAssuranceSourceObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-source.model'; +import { QualityAssuranceSourceObject } from '../../../core/notifications/qa/models/quality-assurance-source.model'; import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { SuggestionNotificationsStateService } from '../../suggestion-notifications-state.service'; +import { NotificationsStateService } from '../../notifications-state.service'; import { AdminQualityAssuranceSourcePageParams } from '../../../admin/admin-notifications/admin-quality-assurance-source-page-component/admin-quality-assurance-source-page-resolver.service'; import { hasValue } from '../../../shared/empty.util'; @@ -50,11 +50,11 @@ export class QualityAssuranceSourceComponent implements OnInit { /** * Initialize the component variables. * @param {PaginationService} paginationService - * @param {SuggestionNotificationsStateService} notificationsStateService + * @param {NotificationsStateService} notificationsStateService */ constructor( private paginationService: PaginationService, - private notificationsStateService: SuggestionNotificationsStateService, + private notificationsStateService: NotificationsStateService, ) { } /** diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.effects.ts b/src/app/notifications/qa/source/quality-assurance-source.effects.ts similarity index 94% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.effects.ts rename to src/app/notifications/qa/source/quality-assurance-source.effects.ts index fd78911ab4..bd85fb18a0 100644 --- a/src/app/suggestion-notifications/qa/source/quality-assurance-source.effects.ts +++ b/src/app/notifications/qa/source/quality-assurance-source.effects.ts @@ -14,13 +14,13 @@ import { } from './quality-assurance-source.actions'; import { QualityAssuranceSourceObject -} from '../../../core/suggestion-notifications/qa/models/quality-assurance-source.model'; +} from '../../../core/notifications/qa/models/quality-assurance-source.model'; import { PaginatedList } from '../../../core/data/paginated-list.model'; import { QualityAssuranceSourceService } from './quality-assurance-source.service'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { QualityAssuranceSourceDataService -} from '../../../core/suggestion-notifications/qa/source/quality-assurance-source-data.service'; +} from '../../../core/notifications/qa/source/quality-assurance-source-data.service'; /** * Provides effect methods for the Quality Assurance source actions. diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.reducer.spec.ts b/src/app/notifications/qa/source/quality-assurance-source.reducer.spec.ts similarity index 100% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.reducer.spec.ts rename to src/app/notifications/qa/source/quality-assurance-source.reducer.spec.ts diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.reducer.ts b/src/app/notifications/qa/source/quality-assurance-source.reducer.ts similarity index 93% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.reducer.ts rename to src/app/notifications/qa/source/quality-assurance-source.reducer.ts index d83a0e4341..08e26a177a 100644 --- a/src/app/suggestion-notifications/qa/source/quality-assurance-source.reducer.ts +++ b/src/app/notifications/qa/source/quality-assurance-source.reducer.ts @@ -1,4 +1,4 @@ -import { QualityAssuranceSourceObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-source.model'; +import { QualityAssuranceSourceObject } from '../../../core/notifications/qa/models/quality-assurance-source.model'; import { QualityAssuranceSourceActionTypes, QualityAssuranceSourceActions } from './quality-assurance-source.actions'; /** diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.service.spec.ts b/src/app/notifications/qa/source/quality-assurance-source.service.spec.ts similarity index 96% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.service.spec.ts rename to src/app/notifications/qa/source/quality-assurance-source.service.spec.ts index 745a2baef7..5ce2ed8ee0 100644 --- a/src/app/suggestion-notifications/qa/source/quality-assurance-source.service.spec.ts +++ b/src/app/notifications/qa/source/quality-assurance-source.service.spec.ts @@ -13,7 +13,7 @@ import { cold } from 'jasmine-marbles'; import { buildPaginatedList } from '../../../core/data/paginated-list.model'; import { QualityAssuranceSourceDataService -} from '../../../core/suggestion-notifications/qa/source/quality-assurance-source-data.service'; +} from '../../../core/notifications/qa/source/quality-assurance-source-data.service'; import { FindListOptions } from '../../../core/data/find-list-options.model'; describe('QualityAssuranceSourceService', () => { diff --git a/src/app/suggestion-notifications/qa/source/quality-assurance-source.service.ts b/src/app/notifications/qa/source/quality-assurance-source.service.ts similarity index 91% rename from src/app/suggestion-notifications/qa/source/quality-assurance-source.service.ts rename to src/app/notifications/qa/source/quality-assurance-source.service.ts index 5c16fb1a03..ea0cb2e5c5 100644 --- a/src/app/suggestion-notifications/qa/source/quality-assurance-source.service.ts +++ b/src/app/notifications/qa/source/quality-assurance-source.service.ts @@ -5,13 +5,13 @@ import { map } from 'rxjs/operators'; import { QualityAssuranceSourceDataService -} from '../../../core/suggestion-notifications/qa/source/quality-assurance-source-data.service'; +} from '../../../core/notifications/qa/source/quality-assurance-source-data.service'; import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; import { RemoteData } from '../../../core/data/remote-data'; import { PaginatedList } from '../../../core/data/paginated-list.model'; import { QualityAssuranceSourceObject -} from '../../../core/suggestion-notifications/qa/models/quality-assurance-source.model'; +} from '../../../core/notifications/qa/models/quality-assurance-source.model'; import { FindListOptions } from '../../../core/data/find-list-options.model'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.actions.ts b/src/app/notifications/qa/topics/quality-assurance-topics.actions.ts similarity index 84% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.actions.ts rename to src/app/notifications/qa/topics/quality-assurance-topics.actions.ts index 2459d4352a..6b83b1d349 100644 --- a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.actions.ts +++ b/src/app/notifications/qa/topics/quality-assurance-topics.actions.ts @@ -1,7 +1,7 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; import { type } from '../../../shared/ngrx/type'; -import { QualityAssuranceTopicObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-topic.model'; +import { QualityAssuranceTopicObject } from '../../../core/notifications/qa/models/quality-assurance-topic.model'; /** * For each action type in an action group, make a simple @@ -12,9 +12,9 @@ import { QualityAssuranceTopicObject } from '../../../core/suggestion-notificati * action types in the application are unique. */ export const QualityAssuranceTopicActionTypes = { - ADD_TOPICS: type('dspace/integration/suggestion-notifications/qa/topic/ADD_TOPICS'), - RETRIEVE_ALL_TOPICS: type('dspace/integration/suggestion-notifications/qa/topic/RETRIEVE_ALL_TOPICS'), - RETRIEVE_ALL_TOPICS_ERROR: type('dspace/integration/suggestion-notifications/qa/topic/RETRIEVE_ALL_TOPICS_ERROR'), + ADD_TOPICS: type('dspace/integration/notifications/qa/topic/ADD_TOPICS'), + RETRIEVE_ALL_TOPICS: type('dspace/integration/notifications/qa/topic/RETRIEVE_ALL_TOPICS'), + RETRIEVE_ALL_TOPICS_ERROR: type('dspace/integration/notifications/qa/topic/RETRIEVE_ALL_TOPICS_ERROR'), }; /** diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.html b/src/app/notifications/qa/topics/quality-assurance-topics.component.html similarity index 100% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.html rename to src/app/notifications/qa/topics/quality-assurance-topics.component.html diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.scss b/src/app/notifications/qa/topics/quality-assurance-topics.component.scss similarity index 100% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.scss rename to src/app/notifications/qa/topics/quality-assurance-topics.component.scss diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.spec.ts b/src/app/notifications/qa/topics/quality-assurance-topics.component.spec.ts similarity index 96% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.spec.ts rename to src/app/notifications/qa/topics/quality-assurance-topics.component.spec.ts index c80d2bce20..fd64b82ce7 100644 --- a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.spec.ts +++ b/src/app/notifications/qa/topics/quality-assurance-topics.component.spec.ts @@ -12,7 +12,7 @@ import { qualityAssuranceTopicObjectMorePid } from '../../../shared/mocks/notifications.mock'; import { QualityAssuranceTopicsComponent } from './quality-assurance-topics.component'; -import { SuggestionNotificationsStateService } from '../../suggestion-notifications-state.service'; +import { NotificationsStateService } from '../../notifications-state.service'; import { cold } from 'jasmine-marbles'; import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; import { PaginationService } from '../../../core/pagination/pagination.service'; @@ -42,7 +42,7 @@ describe('QualityAssuranceTopicsComponent test suite', () => { TestComponent, ], providers: [ - { provide: SuggestionNotificationsStateService, useValue: mockNotificationsStateService }, + { provide: NotificationsStateService, useValue: mockNotificationsStateService }, { provide: ActivatedRoute, useValue: { data: observableOf(activatedRouteParams), snapshot: { paramMap: { get: () => 'openaire', diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.ts b/src/app/notifications/qa/topics/quality-assurance-topics.component.ts similarity index 93% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.ts rename to src/app/notifications/qa/topics/quality-assurance-topics.component.ts index 3c8b4f8f38..542d36a9ed 100644 --- a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.component.ts +++ b/src/app/notifications/qa/topics/quality-assurance-topics.component.ts @@ -6,10 +6,10 @@ import { distinctUntilChanged, take } from 'rxjs/operators'; import { SortOptions } from '../../../core/cache/models/sort-options.model'; import { QualityAssuranceTopicObject -} from '../../../core/suggestion-notifications/qa/models/quality-assurance-topic.model'; +} from '../../../core/notifications/qa/models/quality-assurance-topic.model'; import { hasValue } from '../../../shared/empty.util'; import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { SuggestionNotificationsStateService } from '../../suggestion-notifications-state.service'; +import { NotificationsStateService } from '../../notifications-state.service'; import { AdminQualityAssuranceTopicsPageParams } from '../../../admin/admin-notifications/admin-quality-assurance-topics-page/admin-quality-assurance-topics-page-resolver.service'; @@ -64,13 +64,13 @@ export class QualityAssuranceTopicsComponent implements OnInit { * Initialize the component variables. * @param {PaginationService} paginationService * @param {ActivatedRoute} activatedRoute - * @param {SuggestionNotificationsStateService} notificationsStateService + * @param {NotificationsStateService} notificationsStateService * @param {QualityAssuranceTopicsService} qualityAssuranceTopicsService */ constructor( private paginationService: PaginationService, private activatedRoute: ActivatedRoute, - private notificationsStateService: SuggestionNotificationsStateService, + private notificationsStateService: NotificationsStateService, private qualityAssuranceTopicsService: QualityAssuranceTopicsService ) { } diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.effects.ts b/src/app/notifications/qa/topics/quality-assurance-topics.effects.ts similarity index 94% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.effects.ts rename to src/app/notifications/qa/topics/quality-assurance-topics.effects.ts index 13e3670000..a7b4dddd62 100644 --- a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.effects.ts +++ b/src/app/notifications/qa/topics/quality-assurance-topics.effects.ts @@ -14,13 +14,13 @@ import { } from './quality-assurance-topics.actions'; import { QualityAssuranceTopicObject -} from '../../../core/suggestion-notifications/qa/models/quality-assurance-topic.model'; +} from '../../../core/notifications/qa/models/quality-assurance-topic.model'; import { PaginatedList } from '../../../core/data/paginated-list.model'; import { QualityAssuranceTopicsService } from './quality-assurance-topics.service'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { QualityAssuranceTopicDataService -} from '../../../core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service'; +} from '../../../core/notifications/qa/topics/quality-assurance-topic-data.service'; /** * Provides effect methods for the Quality Assurance topics actions. diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.reducer.spec.ts b/src/app/notifications/qa/topics/quality-assurance-topics.reducer.spec.ts similarity index 100% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.reducer.spec.ts rename to src/app/notifications/qa/topics/quality-assurance-topics.reducer.spec.ts diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.reducer.ts b/src/app/notifications/qa/topics/quality-assurance-topics.reducer.ts similarity index 93% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.reducer.ts rename to src/app/notifications/qa/topics/quality-assurance-topics.reducer.ts index 355ace977d..ff94f1b8bb 100644 --- a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.reducer.ts +++ b/src/app/notifications/qa/topics/quality-assurance-topics.reducer.ts @@ -1,4 +1,4 @@ -import { QualityAssuranceTopicObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-topic.model'; +import { QualityAssuranceTopicObject } from '../../../core/notifications/qa/models/quality-assurance-topic.model'; import { QualityAssuranceTopicActionTypes, QualityAssuranceTopicsActions } from './quality-assurance-topics.actions'; /** diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.service.spec.ts b/src/app/notifications/qa/topics/quality-assurance-topics.service.spec.ts similarity index 96% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.service.spec.ts rename to src/app/notifications/qa/topics/quality-assurance-topics.service.spec.ts index 1e4e3fcffd..c6aae27a88 100644 --- a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.service.spec.ts +++ b/src/app/notifications/qa/topics/quality-assurance-topics.service.spec.ts @@ -4,7 +4,7 @@ import { QualityAssuranceTopicsService } from './quality-assurance-topics.servic import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; import { QualityAssuranceTopicDataService -} from '../../../core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service'; +} from '../../../core/notifications/qa/topics/quality-assurance-topic-data.service'; import { PageInfo } from '../../../core/shared/page-info.model'; import { getMockQualityAssuranceTopicRestService, diff --git a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.service.ts b/src/app/notifications/qa/topics/quality-assurance-topics.service.ts similarity index 92% rename from src/app/suggestion-notifications/qa/topics/quality-assurance-topics.service.ts rename to src/app/notifications/qa/topics/quality-assurance-topics.service.ts index 6820791dff..9dd581ebed 100644 --- a/src/app/suggestion-notifications/qa/topics/quality-assurance-topics.service.ts +++ b/src/app/notifications/qa/topics/quality-assurance-topics.service.ts @@ -3,13 +3,13 @@ import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { QualityAssuranceTopicDataService -} from '../../../core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service'; +} from '../../../core/notifications/qa/topics/quality-assurance-topic-data.service'; import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; import { RemoteData } from '../../../core/data/remote-data'; import { PaginatedList } from '../../../core/data/paginated-list.model'; import { QualityAssuranceTopicObject -} from '../../../core/suggestion-notifications/qa/models/quality-assurance-topic.model'; +} from '../../../core/notifications/qa/models/quality-assurance-topic.model'; import { RequestParam } from '../../../core/cache/models/request-param.model'; import { FindListOptions } from '../../../core/data/find-list-options.model'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; diff --git a/src/app/suggestion-notifications/selectors.ts b/src/app/notifications/selectors.ts similarity index 95% rename from src/app/suggestion-notifications/selectors.ts rename to src/app/notifications/selectors.ts index d98c023ee4..63b2da7a10 100644 --- a/src/app/suggestion-notifications/selectors.ts +++ b/src/app/notifications/selectors.ts @@ -1,12 +1,12 @@ import { createFeatureSelector, createSelector, MemoizedSelector } from '@ngrx/store'; import { subStateSelector } from '../shared/selector.util'; -import { suggestionNotificationsSelector, SuggestionNotificationsState } from './suggestion-notifications.reducer'; -import { QualityAssuranceTopicObject } from '../core/suggestion-notifications/qa/models/quality-assurance-topic.model'; +import { suggestionNotificationsSelector, SuggestionNotificationsState } from './notifications.reducer'; +import { QualityAssuranceTopicObject } from '../core/notifications/qa/models/quality-assurance-topic.model'; import { QualityAssuranceTopicState } from './qa/topics/quality-assurance-topics.reducer'; import { QualityAssuranceSourceState } from './qa/source/quality-assurance-source.reducer'; import { QualityAssuranceSourceObject -} from '../core/suggestion-notifications/qa/models/quality-assurance-source.model'; +} from '../core/notifications/qa/models/quality-assurance-source.model'; /** * Returns the Notifications state. diff --git a/src/app/shared/mocks/notifications.mock.ts b/src/app/shared/mocks/notifications.mock.ts index dc1c98c7b9..707b9a9e6a 100644 --- a/src/app/shared/mocks/notifications.mock.ts +++ b/src/app/shared/mocks/notifications.mock.ts @@ -2,16 +2,16 @@ import { of as observableOf } from 'rxjs'; import { ResourceType } from '../../core/shared/resource-type'; import { QualityAssuranceTopicObject -} from '../../core/suggestion-notifications/qa/models/quality-assurance-topic.model'; +} from '../../core/notifications/qa/models/quality-assurance-topic.model'; import { QualityAssuranceEventObject -} from '../../core/suggestion-notifications/qa/models/quality-assurance-event.model'; +} from '../../core/notifications/qa/models/quality-assurance-event.model'; import { QualityAssuranceTopicDataService -} from '../../core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service'; +} from '../../core/notifications/qa/topics/quality-assurance-topic-data.service'; import { QualityAssuranceEventDataService -} from '../../core/suggestion-notifications/qa/events/quality-assurance-event-data.service'; +} from '../../core/notifications/qa/events/quality-assurance-event-data.service'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { Item } from '../../core/shared/item.model'; import { @@ -22,7 +22,7 @@ import { import { SearchResult } from '../search/models/search-result.model'; import { QualityAssuranceSourceObject -} from '../../core/suggestion-notifications/qa/models/quality-assurance-source.model'; +} from '../../core/notifications/qa/models/quality-assurance-source.model'; // REST Mock --------------------------------------------------------------------- // ------------------------------------------------------------------------------- @@ -80,7 +80,7 @@ const ItemMockPid1: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -199,7 +199,7 @@ const ItemMockPid2: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -318,7 +318,7 @@ const ItemMockPid3: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -437,7 +437,7 @@ const ItemMockPid4: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -556,7 +556,7 @@ const ItemMockPid5: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -675,7 +675,7 @@ const ItemMockPid6: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -794,7 +794,7 @@ const ItemMockPid7: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -913,7 +913,7 @@ export const ItemMockPid8: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -1032,7 +1032,7 @@ export const ItemMockPid9: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -1151,7 +1151,7 @@ export const ItemMockPid10: Item = Object.assign( 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -1270,7 +1270,7 @@ export const NotificationsMockDspaceObject: SearchResult = Object. 'dc.identifier.uri': [ { language: null, - value: 'http://dspace7.4science.it/xmlui/handle/10673/6' + value: 'https://demo.dspace.org/handle/10673/6' } ], 'dc.description.abstract': [ @@ -1476,7 +1476,7 @@ export const qualityAssuranceEventObjectMissingPid: QualityAssuranceEventObject value: '10.18848/1447-9494/cgp/v15i09/45934', pidHref: 'https://doi.org/10.18848/1447-9494/cgp/v15i09/45934', abstract: null, - openaireId: null, + sourceId: null, acronym: null, code: null, funder: null, @@ -1513,7 +1513,7 @@ export const qualityAssuranceEventObjectMissingPid2: QualityAssuranceEventObject value: 'http://thesis2.sba.units.it/store/handle/item/12238', pidHref:'http://thesis2.sba.units.it/store/handle/item/12238', abstract: null, - openaireId: null, + sourceId: null, acronym: null, code: null, funder: null, @@ -1550,7 +1550,7 @@ export const qualityAssuranceEventObjectMissingPid3: QualityAssuranceEventObject value: '10.4324/9780203408889', pidHref: 'https://doi.org/10.4324/9780203408889', abstract: null, - openaireId: null, + sourceId: null, acronym: null, code: null, funder: null, @@ -1587,7 +1587,7 @@ export const qualityAssuranceEventObjectMissingPid4: QualityAssuranceEventObject value: '10.1080/13698230.2018.1430104', pidHref: 'https://doi.org/10.1080/13698230.2018.1430104', abstract: null, - openaireId: null, + sourceId: null, acronym: null, code: null, funder: null, @@ -1624,7 +1624,7 @@ export const qualityAssuranceEventObjectMissingPid5: QualityAssuranceEventObject value: 'http://thesis2.sba.units.it/store/handle/item/12477', pidHref:'http://thesis2.sba.units.it/store/handle/item/12477', abstract: null, - openaireId: null, + sourceId: null, acronym: null, code: null, funder: null, @@ -1661,7 +1661,7 @@ export const qualityAssuranceEventObjectMissingPid6: QualityAssuranceEventObject value: '10.1111/j.1475-4975.2004.00098.x', pidHref: 'https://doi.org/10.1111/j.1475-4975.2004.00098.x', abstract: null, - openaireId: null, + sourceId: null, acronym: null, code: null, funder: null, @@ -1698,7 +1698,7 @@ export const qualityAssuranceEventObjectMissingAbstract: QualityAssuranceEventOb value: null, pidHref: null, abstract: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque vestibulum tellus sed lacinia. Aenean vitae sapien a quam congue ultrices. Sed vehicula sollicitudin ligula, vitae lacinia velit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque vestibulum tellus sed lacinia. Aenean vitae sapien a quam congue ultrices. Sed vehicula sollicitudin ligula, vitae lacinia velit.', - openaireId: null, + sourceId: null, acronym: null, code: null, funder: null, @@ -1735,7 +1735,7 @@ export const qualityAssuranceEventObjectMissingProjectFound: QualityAssuranceEve value: null, pidHref: null, abstract: null, - openaireId: null, + sourceId: null, acronym: 'PAThs', code: '687567', funder: 'EC', @@ -1772,7 +1772,7 @@ export const qualityAssuranceEventObjectMissingProjectNotFound: QualityAssurance value: null, pidHref: null, abstract: null, - openaireId: null, + sourceId: null, acronym: 'PAThs', code: '687567B', funder: 'EC', @@ -1799,7 +1799,7 @@ export const qualityAssuranceEventObjectMissingProjectNotFound: QualityAssurance // ------------------------------------------------------------------------------- /** - * Mock for [[SuggestionNotificationsStateService]] + * Mock for [[NotificationsStateService]] */ export function getMockNotificationsStateService(): any { return jasmine.createSpyObj('NotificationsStateService', { diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 4c13ec73d1..ac09fe4167 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -3206,6 +3206,8 @@ "quality-assurance.event.modal.project.bound": "Bound project", + "quality-assurance.event.modal.project.remove": "Remove", + "quality-assurance.event.modal.project.placeholder": "Enter a project name", "quality-assurance.event.modal.project.notFound": "No project found.", diff --git a/src/config/app-config.interface.ts b/src/config/app-config.interface.ts index 84a30549a7..cd8926f1c1 100644 --- a/src/config/app-config.interface.ts +++ b/src/config/app-config.interface.ts @@ -22,6 +22,7 @@ import { HomeConfig } from './homepage-config.interface'; import { MarkdownConfig } from './markdown-config.interface'; import { FilterVocabularyConfig } from './filter-vocabulary-config'; import { DiscoverySortConfig } from './discovery-sort.config'; +import {QualityAssuranceConfig} from './quality-assurance.config'; interface AppConfig extends Config { ui: UIServerConfig; @@ -48,6 +49,7 @@ interface AppConfig extends Config { markdown: MarkdownConfig; vocabularies: FilterVocabularyConfig[]; comcolSelectionSort: DiscoverySortConfig; + qualityAssuranceConfig: QualityAssuranceConfig; } /** diff --git a/src/config/default-app-config.ts b/src/config/default-app-config.ts index a6e9e092e4..16de9b2e1c 100644 --- a/src/config/default-app-config.ts +++ b/src/config/default-app-config.ts @@ -22,6 +22,7 @@ import { HomeConfig } from './homepage-config.interface'; import { MarkdownConfig } from './markdown-config.interface'; import { FilterVocabularyConfig } from './filter-vocabulary-config'; import { DiscoverySortConfig } from './discovery-sort.config'; +import {QualityAssuranceConfig} from './quality-assurance.config'; export class DefaultAppConfig implements AppConfig { production = false; @@ -432,4 +433,9 @@ export class DefaultAppConfig implements AppConfig { sortField:'dc.title', sortDirection:'ASC', }; + + qualityAssuranceConfig: QualityAssuranceConfig = { + sourceUrlForProjectSearch: 'https://explore.openaire.eu/search/project?projectId=', + pageSize: 5, + }; } diff --git a/src/config/quality-assurance.config.ts b/src/config/quality-assurance.config.ts new file mode 100644 index 0000000000..10f4106d7f --- /dev/null +++ b/src/config/quality-assurance.config.ts @@ -0,0 +1,17 @@ +import { Config } from './config.interface'; + +/** + * Config that determines a metadata sorting config. + * It's created mainly to sort by metadata community and collection edition and creation + */ +export class QualityAssuranceConfig implements Config { + + /** + * Url for project search on quality assurance resource + */ + public sourceUrlForProjectSearch: string; + /** + * default count of QA sources to load + */ + public pageSize: number; +} diff --git a/src/environments/environment.test.ts b/src/environments/environment.test.ts index cb9d2c7130..e882527ee8 100644 --- a/src/environments/environment.test.ts +++ b/src/environments/environment.test.ts @@ -306,6 +306,10 @@ export const environment: BuildConfig = { sortField:'dc.title', sortDirection:'ASC', }, + qualityAssuranceConfig: { + sourceUrlForProjectSearch: 'https://explore.openaire.eu/search/project?projectId=', + pageSize: 5, + }, vocabularies: [ {