From 1e36a10dd53d7ea0143d9e4ea28ff6e8a096b512 Mon Sep 17 00:00:00 2001 From: Kim Shepherd Date: Thu, 29 Feb 2024 11:06:03 +1300 Subject: [PATCH] [TLC-674] Properly test for existence of duplicates section --- .../pool-search-result-list-element.component.ts | 10 ---------- .../submission/objects/submission-objects.effects.ts | 2 +- .../submission/objects/submission-objects.reducer.ts | 2 +- 3 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts index 5800d58d1d..3ada585f00 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts @@ -76,8 +76,6 @@ export class PoolSearchResultListElementComponent extends SearchResultListElemen */ showThumbnails: boolean; - enableDetectDuplicates$: Observable; - constructor( protected linkService: LinkService, protected truncatableService: TruncatableService, @@ -101,14 +99,6 @@ export class PoolSearchResultListElementComponent extends SearchResultListElemen followLink('submitter') ), followLink('action')); - // Get configuration for duplicate detection feature - this.enableDetectDuplicates$ = this.configService.findByPropertyName('duplicate.enable').pipe( - getFirstCompletedRemoteData(), - map((rd: RemoteData) => { - return (rd.hasSucceeded && rd.payload && rd.payload.values[0] === 'true'); - }) - ); - (this.dso.workflowitem as Observable>).pipe( getFirstCompletedRemoteData(), mergeMap((wfiRD: RemoteData) => { diff --git a/src/app/submission/objects/submission-objects.effects.ts b/src/app/submission/objects/submission-objects.effects.ts index c4fd42b0d3..8fd7fba501 100644 --- a/src/app/submission/objects/submission-objects.effects.ts +++ b/src/app/submission/objects/submission-objects.effects.ts @@ -449,7 +449,7 @@ export class SubmissionObjectEffects { // or if configuration overrides this behaviour if (!alwaysDisplayDuplicates()) { const duplicatesSectionId = findKey(currentState.sections, (section) => section.sectionType === SectionsType.Duplicates); - if (isNotUndefined(duplicatesSectionId) && isEmpty((sections[duplicatesSectionId] as WorkspaceitemSectionDuplicatesObject).potentialDuplicates)) { + if (isNotUndefined(duplicatesSectionId) && sections.hasOwnProperty(duplicatesSectionId) && isEmpty((sections[duplicatesSectionId] as WorkspaceitemSectionDuplicatesObject).potentialDuplicates)) { mappedActions.push(new CleanDuplicateDetectionAction(submissionId)); } } diff --git a/src/app/submission/objects/submission-objects.reducer.ts b/src/app/submission/objects/submission-objects.reducer.ts index c81f98db6a..268329460e 100644 --- a/src/app/submission/objects/submission-objects.reducer.ts +++ b/src/app/submission/objects/submission-objects.reducer.ts @@ -862,7 +862,7 @@ function deleteFile(state: SubmissionObjectState, action: DeleteUploadedFileActi } function cleanDuplicateDetectionSection(state: SubmissionObjectState, action: CleanDuplicateDetectionAction): SubmissionObjectState { - if (isNotEmpty(state[ action.payload.submissionId ])) { + if (isNotEmpty(state[ action.payload.submissionId ]) && state[action.payload.submissionId].sections.hasOwnProperty('duplicates')) { return Object.assign({}, state, { [ action.payload.submissionId ]: Object.assign({}, state[ action.payload.submissionId ], { sections: Object.assign({}, state[ action.payload.submissionId ].sections, {