From 0b89c55a1d0aacf9fd84efdb5c59a881d4ae1a4d Mon Sep 17 00:00:00 2001 From: Timo Date: Mon, 19 Jul 2021 11:57:29 +0300 Subject: [PATCH] fixed undo after reanalysis --- .../service/RedactionLogCreatorService.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/RedactionLogCreatorService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/RedactionLogCreatorService.java index 7bd49fbc..273a4f69 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/RedactionLogCreatorService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/RedactionLogCreatorService.java @@ -666,17 +666,22 @@ public class RedactionLogCreatorService { // Cannot undo Already Approved change because UI won't allow it for now if (Status.REQUESTED.equals(entry.getStatus())) { - if (entry.getManualRedactionType() == ManualRedactionType.RECATEGORIZE) { - entry.setManual(false); - entry.setStatus(null); - entry.setRecategorizationType(null); + var recategorizeExists = manualRedactions.getImageRecategorizations().stream().anyMatch(entryToAdd -> entryToAdd.getId().equalsIgnoreCase(entry.getId())); + if (!recategorizeExists) { + if (entry.getManualRedactionType() == ManualRedactionType.RECATEGORIZE) { + entry.setManual(false); + entry.setStatus(null); + entry.setRecategorizationType(null); + } } - if (entry.getManualRedactionType() == ManualRedactionType.LEGAL_BASIS_CHANGE) { - entry.setManual(false); - entry.setStatus(null); - entry.setLegalBasisChangeValue(null); + var legalBasisChangeExists = manualRedactions.getImageRecategorizations().stream().anyMatch(entryToAdd -> entryToAdd.getId().equalsIgnoreCase(entry.getId())); + if (!legalBasisChangeExists) { + if (entry.getManualRedactionType() == ManualRedactionType.LEGAL_BASIS_CHANGE) { + entry.setManual(false); + entry.setStatus(null); + entry.setLegalBasisChangeValue(null); + } } - } }