Skip to content

Commit 1fb742c

Browse files
Merge branch 'main' into DURACOM-195
# Conflicts: # src/assets/i18n/en.json5 # src/styles/_custom_variables.scss # src/themes/dspace/styles/_theme_css_variable_overrides.scss
2 parents 523850b + bfeeeac commit 1fb742c

251 files changed

Lines changed: 10467 additions & 1385 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

config/config.example.yml

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ cache:
7575
anonymousCache:
7676
# Maximum number of pages to cache. Default is zero (0) which means anonymous user cache is disabled.
7777
# As all pages are cached in server memory, increasing this value will increase memory needs.
78-
# Individual cached pages are usually small (<100KB), so a value of max=1000 would only require ~100MB of memory.
78+
# Individual cached pages are usually small (<100KB), so a value of max=1000 would only require ~100MB of memory.
7979
max: 0
8080
# Amount of time after which cached pages are considered stale (in ms). After becoming stale, the cached
8181
# copy is automatically refreshed on the next request.
@@ -136,7 +136,7 @@ submission:
136136
# NOTE: example of configuration
137137
# # NOTE: metadata name
138138
# - name: dc.author
139-
# # NOTE: fontawesome (v5.x) icon classes and bootstrap utility classes can be used
139+
# # NOTE: fontawesome (v6.x) icon classes and bootstrap utility classes can be used
140140
# style: fas fa-user
141141
- name: dc.author
142142
style: fas fa-user
@@ -147,18 +147,40 @@ submission:
147147
confidence:
148148
# NOTE: example of configuration
149149
# # NOTE: confidence value
150-
# - name: dc.author
151-
# # NOTE: fontawesome (v5.x) icon classes and bootstrap utility classes can be used
152-
# style: fa-user
150+
# - value: 600
151+
# # NOTE: fontawesome (v6.x) icon classes and bootstrap utility classes can be used
152+
# style: text-success
153+
# icon: fa-circle-check
154+
# # NOTE: the class configured in property style is used by default, the icon property could be used in component
155+
# configured to use a 'icon mode' display (mainly in edit-item page)
153156
- value: 600
154157
style: text-success
158+
icon: fa-circle-check
155159
- value: 500
156160
style: text-info
161+
icon: fa-gear
157162
- value: 400
158163
style: text-warning
164+
icon: fa-circle-question
165+
- value: 300
166+
style: text-muted
167+
icon: fa-thumbs-down
168+
- value: 200
169+
style: text-muted
170+
icon: fa-circle-exclamation
171+
- value: 100
172+
style: text-muted
173+
icon: fa-circle-stop
174+
- value: 0
175+
style: text-muted
176+
icon: fa-ban
177+
- value: -1
178+
style: text-muted
179+
icon: fa-circle-xmark
159180
# default configuration
160181
- value: default
161182
style: text-muted
183+
icon: fa-circle-xmark
162184

163185
# Default Language in which the UI will be rendered if the user's browser language is not an active language
164186
defaultLanguage: en
@@ -272,6 +294,8 @@ homePage:
272294
# No. of communities to list per page on the home page
273295
# This will always round to the nearest number from the list of page sizes. e.g. if you set it to 7 it'll use 10
274296
pageSize: 5
297+
# Enable or disable the Discover filters on the homepage
298+
showDiscoverFilters: false
275299

276300
# Item Config
277301
item:
@@ -285,8 +309,17 @@ item:
285309
# settings menu. See pageSizeOptions in 'pagination-component-options.model.ts'.
286310
pageSize: 5
287311

312+
# Community Page Config
313+
community:
314+
# Search tab config
315+
searchSection:
316+
showSidebar: true
317+
288318
# Collection Page Config
289319
collection:
320+
# Search tab config
321+
searchSection:
322+
showSidebar: true
290323
edit:
291324
undoTimeout: 10000 # 10 seconds
292325

@@ -382,7 +415,12 @@ vocabularies:
382415
vocabulary: 'srsc'
383416
enabled: true
384417

385-
# Default collection/community sorting order at Advanced search, Create/update community and collection when there are not a query.
418+
# Default collection/community sorting order at Advanced search, Create/update community and collection when there are not a query.
386419
comcolSelectionSort:
387420
sortField: 'dc.title'
388421
sortDirection: 'ASC'
422+
423+
# Example of fallback collection for suggestions import
424+
# suggestion:
425+
# - collectionId: 8f7df5ca-f9c2-47a4-81ec-8a6393d6e5af
426+
# source: "openaire"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { Injectable } from '@angular/core';
2+
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';
3+
4+
/**
5+
* Interface for the route parameters.
6+
*/
7+
export interface AdminNotificationsPublicationClaimPageParams {
8+
pageId?: string;
9+
pageSize?: number;
10+
currentPage?: number;
11+
}
12+
13+
/**
14+
* This class represents a resolver that retrieve the route data before the route is activated.
15+
*/
16+
@Injectable()
17+
export class AdminNotificationsPublicationClaimPageResolver implements Resolve<AdminNotificationsPublicationClaimPageParams> {
18+
19+
/**
20+
* Method for resolving the parameters in the current route.
21+
* @param {ActivatedRouteSnapshot} route The current ActivatedRouteSnapshot
22+
* @param {RouterStateSnapshot} state The current RouterStateSnapshot
23+
* @returns AdminNotificationsSuggestionTargetsPageParams Emits the route parameters
24+
*/
25+
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): AdminNotificationsPublicationClaimPageParams {
26+
return {
27+
pageId: route.queryParams.pageId,
28+
pageSize: parseInt(route.queryParams.pageSize, 10),
29+
currentPage: parseInt(route.queryParams.page, 10)
30+
};
31+
}
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<ds-publication-claim [source]="'openaire'"></ds-publication-claim>

src/app/collection-page/sections/recently-added/collection-recently-added.component.scss renamed to src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.scss

File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2+
3+
import { AdminNotificationsPublicationClaimPageComponent } from './admin-notifications-publication-claim-page.component';
4+
import { NO_ERRORS_SCHEMA } from '@angular/core';
5+
import { CommonModule } from '@angular/common';
6+
import { TranslateModule } from '@ngx-translate/core';
7+
8+
describe('AdminNotificationsPublicationClaimPageComponent', () => {
9+
let component: AdminNotificationsPublicationClaimPageComponent;
10+
let fixture: ComponentFixture<AdminNotificationsPublicationClaimPageComponent>;
11+
12+
beforeEach(async(() => {
13+
TestBed.configureTestingModule({
14+
imports: [
15+
CommonModule,
16+
TranslateModule.forRoot()
17+
],
18+
declarations: [
19+
AdminNotificationsPublicationClaimPageComponent
20+
],
21+
providers: [
22+
AdminNotificationsPublicationClaimPageComponent
23+
],
24+
schemas: [NO_ERRORS_SCHEMA]
25+
})
26+
.compileComponents();
27+
}));
28+
29+
beforeEach(() => {
30+
fixture = TestBed.createComponent(AdminNotificationsPublicationClaimPageComponent);
31+
component = fixture.componentInstance;
32+
fixture.detectChanges();
33+
});
34+
35+
it('should create', () => {
36+
expect(component).toBeTruthy();
37+
});
38+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { Component } from '@angular/core';
2+
3+
@Component({
4+
selector: 'ds-admin-notifications-publication-claim-page',
5+
templateUrl: './admin-notifications-publication-claim-page.component.html',
6+
styleUrls: ['./admin-notifications-publication-claim-page.component.scss']
7+
})
8+
export class AdminNotificationsPublicationClaimPageComponent {
9+
10+
}

src/app/admin/admin-notifications/admin-notifications-routing-paths.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { URLCombiner } from '../../core/url-combiner/url-combiner';
22
import { getNotificationsModuleRoute } from '../admin-routing-paths';
33

44
export const QUALITY_ASSURANCE_EDIT_PATH = 'quality-assurance';
5+
export const PUBLICATION_CLAIMS_PATH = 'publication-claim';
56

67
export function getQualityAssuranceRoute(id: string) {
78
return new URLCombiner(getNotificationsModuleRoute(), QUALITY_ASSURANCE_EDIT_PATH, id).toString();

src/app/admin/admin-notifications/admin-notifications-routing.module.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import { RouterModule } from '@angular/router';
44
import { AuthenticatedGuard } from '../../core/auth/authenticated.guard';
55
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
66
import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service';
7+
import { PUBLICATION_CLAIMS_PATH } from './admin-notifications-routing-paths';
8+
import { AdminNotificationsPublicationClaimPageComponent } from './admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component';
9+
import { AdminNotificationsPublicationClaimPageResolver } from './admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service';
710
import { QUALITY_ASSURANCE_EDIT_PATH } from './admin-notifications-routing-paths';
811
import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component';
912
import { AdminQualityAssuranceEventsPageComponent } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.component';
@@ -20,6 +23,21 @@ import {
2023
@NgModule({
2124
imports: [
2225
RouterModule.forChild([
26+
{
27+
canActivate: [ AuthenticatedGuard ],
28+
path: `${PUBLICATION_CLAIMS_PATH}`,
29+
component: AdminNotificationsPublicationClaimPageComponent,
30+
pathMatch: 'full',
31+
resolve: {
32+
breadcrumb: I18nBreadcrumbResolver,
33+
suggestionTargetParams: AdminNotificationsPublicationClaimPageResolver
34+
},
35+
data: {
36+
title: 'admin.notifications.publicationclaim.page.title',
37+
breadcrumbKey: 'admin.notifications.publicationclaim',
38+
showBreadcrumbsFluid: false
39+
}
40+
},
2341
{
2442
canActivate: [ AuthenticatedGuard ],
2543
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId`,
@@ -71,7 +89,9 @@ import {
7189
providers: [
7290
I18nBreadcrumbResolver,
7391
I18nBreadcrumbsService,
92+
AdminNotificationsPublicationClaimPageResolver,
7493
SourceDataResolver,
94+
AdminQualityAssuranceSourcePageResolver,
7595
AdminQualityAssuranceTopicsPageResolver,
7696
AdminQualityAssuranceEventsPageResolver,
7797
AdminQualityAssuranceSourcePageResolver,

src/app/admin/admin-notifications/admin-notifications.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ import { NgModule } from '@angular/core';
33
import { CoreModule } from '../../core/core.module';
44
import { SharedModule } from '../../shared/shared.module';
55
import { AdminNotificationsRoutingModule } from './admin-notifications-routing.module';
6+
import { AdminNotificationsPublicationClaimPageComponent } from './admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component';
67
import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component';
78
import { AdminQualityAssuranceEventsPageComponent } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.component';
89
import { AdminQualityAssuranceSourcePageComponent } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page.component';
9-
import {NotificationsModule} from '../../notifications/notifications.module';
10+
import { NotificationsModule } from '../../notifications/notifications.module';
1011

1112
@NgModule({
1213
imports: [
@@ -17,6 +18,7 @@ import {NotificationsModule} from '../../notifications/notifications.module';
1718
NotificationsModule
1819
],
1920
declarations: [
21+
AdminNotificationsPublicationClaimPageComponent,
2022
AdminQualityAssuranceTopicsPageComponent,
2123
AdminQualityAssuranceEventsPageComponent,
2224
AdminQualityAssuranceSourcePageComponent

src/app/app-routing.module.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import {
3838
ThemedPageInternalServerErrorComponent
3939
} from './page-internal-server-error/themed-page-internal-server-error.component';
4040
import { ServerCheckGuard } from './core/server-check/server-check.guard';
41+
import { SUGGESTION_MODULE_PATH } from './suggestions-page/suggestions-page-routing-paths';
4142
import { MenuResolver } from './menu.resolver';
4243
import { ThemedPageErrorComponent } from './page-error/themed-page-error.component';
4344
import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-check-guard.guard';
@@ -206,6 +207,11 @@ import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-c
206207
.then((m) => m.ProcessPageModule),
207208
canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard]
208209
},
210+
{ path: SUGGESTION_MODULE_PATH,
211+
loadChildren: () => import('./suggestions-page/suggestions-page.module')
212+
.then((m) => m.SuggestionsPageModule),
213+
canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard]
214+
},
209215
{
210216
path: INFO_MODULE_PATH,
211217
loadChildren: () => import('./info/info.module').then((m) => m.InfoModule)

0 commit comments

Comments
 (0)