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); + } } - } }