1
0

On metadata enrichment, When Upload section is disabled, add it to submission only if there are files

This commit is contained in:
Giuseppe Digilio
2018-12-11 20:01:42 +01:00
parent b2e90ca8d3
commit 9caf95c04d

View File

@@ -42,6 +42,8 @@ import { SubmissionObjectEntry } from './submission-objects.reducer';
import { SubmissionSectionModel } from '../../core/config/models/config-submission-section.model'; import { SubmissionSectionModel } from '../../core/config/models/config-submission-section.model';
import parseSectionErrors from '../utils/parseSectionErrors'; import parseSectionErrors from '../utils/parseSectionErrors';
import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model'; import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model';
import { WorkspaceitemSectionUploadObject } from '../../core/submission/models/workspaceitem-section-upload.model';
import { SectionsType } from '../sections/sections-type';
@Injectable() @Injectable()
export class SubmissionObjectEffects { export class SubmissionObjectEffects {
@@ -242,15 +244,22 @@ export class SubmissionObjectEffects {
const sections: WorkspaceitemSectionsObject = (item.sections && isNotEmpty(item.sections)) ? item.sections : {}; const sections: WorkspaceitemSectionsObject = (item.sections && isNotEmpty(item.sections)) ? item.sections : {};
const sectionsKeys: string[] = union(Object.keys(sections), Object.keys(errorsList)); const sectionsKeys: string[] = union(Object.keys(sections), Object.keys(errorsList));
sectionsKeys for (const sectionId of sectionsKeys) {
.forEach((sectionId) => {
const sectionErrors = errorsList[sectionId] || []; const sectionErrors = errorsList[sectionId] || [];
const sectionData = sections[sectionId] || {}; const sectionData = sections[sectionId] || {};
// When Upload section is disabled, add to submission only if there are files
if (currentState.sections[sectionId].sectionType === SectionsType.Upload
&& isEmpty((sectionData as WorkspaceitemSectionUploadObject).files)
&& !currentState.sections[sectionId].enabled) {
continue;
}
if (notify && !currentState.sections[sectionId].enabled) { if (notify && !currentState.sections[sectionId].enabled) {
this.submissionService.notifyNewSection(submissionId, sectionId, currentState.sections[sectionId].sectionType); this.submissionService.notifyNewSection(submissionId, sectionId, currentState.sections[sectionId].sectionType);
} }
mappedActions.push(new UpdateSectionDataAction(submissionId, sectionId, sectionData, sectionErrors)); mappedActions.push(new UpdateSectionDataAction(submissionId, sectionId, sectionData, sectionErrors));
}); }
}); });