From e30a0044003f3dd812d10d0acf11c08b815f3602 Mon Sep 17 00:00:00 2001 From: 9sneha-n <9sneha.n@gmail.com> Date: Thu, 27 Jun 2024 12:15:16 +0530 Subject: [PATCH 1/2] fix: On delete, do not run consistency checks and ignore 'import ignored' error --- .../usecases/data-entry/amr/ImportRISFile.ts | 27 ++++++++++--------- .../data-entry/amr/ImportSampleFile.ts | 26 +++++++++++------- .../data-entry/utils/mapDhis2Summary.ts | 9 ++++--- 3 files changed, 38 insertions(+), 24 deletions(-) diff --git a/src/domain/usecases/data-entry/amr/ImportRISFile.ts b/src/domain/usecases/data-entry/amr/ImportRISFile.ts index 86c96943..e3c4d3cd 100644 --- a/src/domain/usecases/data-entry/amr/ImportRISFile.ts +++ b/src/domain/usecases/data-entry/amr/ImportRISFile.ts @@ -120,16 +120,19 @@ export class ImportRISFile { .uniqBy("error") .value(); - const allBlockingErrors = [ - ...blockingCategoryOptionConsistencyErrors, - ...pathogenAntibioticErrors, - ...specimenPathogenErrors, - ...astResultsErrors, - ...batchIdErrors, - ...yearErrors, - ...countryErrors, - ...duplicateRowErrors, - ]; + const allBlockingErrors = + action === "DELETE" //If delete, ignore consistency checks + ? [] + : [ + ...blockingCategoryOptionConsistencyErrors, + ...pathogenAntibioticErrors, + ...specimenPathogenErrors, + ...astResultsErrors, + ...batchIdErrors, + ...yearErrors, + ...countryErrors, + ...duplicateRowErrors, + ]; if (allBlockingErrors.length > 0) { const errorImportSummary: ImportSummary = { @@ -177,7 +180,7 @@ export class ImportRISFile { rulesInstructions ); - const importSummary = mapDataValuesToImportSummary(saveSummary); + const importSummary = mapDataValuesToImportSummary(saveSummary, action); const summaryWithConsistencyBlokingErrors = includeBlockingErrors( importSummary, @@ -192,7 +195,7 @@ export class ImportRISFile { } //If dry-run, do not run validations else { - const importSummary = mapDataValuesToImportSummary(saveSummary); + const importSummary = mapDataValuesToImportSummary(saveSummary, action); const summaryWithConsistencyBlokingErrors = includeBlockingErrors(importSummary, [ ...allBlockingErrors, diff --git a/src/domain/usecases/data-entry/amr/ImportSampleFile.ts b/src/domain/usecases/data-entry/amr/ImportSampleFile.ts index 2847a753..fa1d7939 100644 --- a/src/domain/usecases/data-entry/amr/ImportSampleFile.ts +++ b/src/domain/usecases/data-entry/amr/ImportSampleFile.ts @@ -114,15 +114,23 @@ export class ImportSampleFile { .map(rulesInstructions => { const dhis2ValidationErrors = checkDhis2Validations(validations, rulesInstructions); - const importSummary = mapDataValuesToImportSummary(saveSummary); - - const summaryWithConsistencyBlokingErrors = includeBlockingErrors(importSummary, [ - ...batchIdErrors, - ...yearErrors, - ...countryErrors, - ...dhis2ValidationErrors, - ...duplicateRowErrors, - ]); + const importSummary = mapDataValuesToImportSummary(saveSummary, action); + + const allBlockingErrors = + action === "DELETE" //If delete, ignore consistency checks + ? [] + : [ + ...batchIdErrors, + ...yearErrors, + ...countryErrors, + ...dhis2ValidationErrors, + ...duplicateRowErrors, + ]; + + const summaryWithConsistencyBlokingErrors = includeBlockingErrors( + importSummary, + allBlockingErrors + ); return summaryWithConsistencyBlokingErrors; }); diff --git a/src/domain/usecases/data-entry/utils/mapDhis2Summary.ts b/src/domain/usecases/data-entry/utils/mapDhis2Summary.ts index 10bad1b8..6a487f1d 100644 --- a/src/domain/usecases/data-entry/utils/mapDhis2Summary.ts +++ b/src/domain/usecases/data-entry/utils/mapDhis2Summary.ts @@ -1,8 +1,11 @@ import i18n from "@eyeseetea/d2-ui-components/locales"; -import { DataValuesSaveSummary } from "../../../entities/data-entry/DataValuesSaveSummary"; +import { DataValuesSaveSummary, ImportStrategy } from "../../../entities/data-entry/DataValuesSaveSummary"; import { ImportSummary } from "../../../entities/data-entry/ImportSummary"; -export function mapDataValuesToImportSummary(dhis2Summary: DataValuesSaveSummary): ImportSummary { +export function mapDataValuesToImportSummary( + dhis2Summary: DataValuesSaveSummary, + action: ImportStrategy +): ImportSummary { const nonBlockingErrors = dhis2Summary.status === "WARNING" ? dhis2Summary.conflicts?.map(status => { @@ -24,7 +27,7 @@ export function mapDataValuesToImportSummary(dhis2Summary: DataValuesSaveSummary : []; const ignoredErrors = - dhis2Summary.importCount.ignored > 0 + action !== "DELETE" && dhis2Summary.importCount.ignored > 0 //If delete, ignore import ignored errors. ? dhis2Summary.conflicts && dhis2Summary.conflicts.length > 0 ? dhis2Summary.conflicts?.map(status => { return { From 03d6474f4b96099c6598a0cd92d0ec52d6f6a2f9 Mon Sep 17 00:00:00 2001 From: Bhavana Narayanan Date: Thu, 27 Jun 2024 16:01:36 +0530 Subject: [PATCH 2/2] Feat:Version Bumped --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1c1c9e03..1b431f92 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "glass", "description": "DHIS2 Glass App", - "version": "1.6.5", + "version": "1.6.6", "license": "GPL-3.0", "author": "EyeSeeTea team", "homepage": ".",