diff --git a/backend/src/main/java/com/nttdata/calender/changes/Change.java b/backend/src/main/java/com/nttdata/calender/changes/Change.java index af618e6..9c0677f 100644 --- a/backend/src/main/java/com/nttdata/calender/changes/Change.java +++ b/backend/src/main/java/com/nttdata/calender/changes/Change.java @@ -141,7 +141,8 @@ public class Change { .filter(peopleFullName::equals) .isPresent()); try { - var flag = inApprovalList(api.getUser(), getValueStringByID(entry, "ChangeNr")); + var inApproval = inApprovalList(api.getUser(), getValueStringByID(entry, "ChangeNr")); + var flag = Flag(inApproval, getValue(entry, "State").getIntValue()); change.setApprovalFlag(flag); } catch (ARException e) { e.printStackTrace(); @@ -159,11 +160,17 @@ public class Change { var approversOI = api.queryFieldsById("\'Ticketnumber\' = \"" + changeNr + "\"", queryApprovalList.getFieldIds(), queryApprovalList.getFormName(), null, 0, 0); - - var approvers = !approversOI.isEmpty() ? approversOI.get(0).get(queryApprovalList.getFieldId("Approvers")).toString() : null; + + var approvers = approversOI.isEmpty() ? null : approversOI.get(0).get(queryApprovalList.getFieldId("Approvers")).toString(); return approvers != null ? approvers.contains(user) : false; } + public boolean Flag(boolean approval, int status) { + boolean approvableStatus = (status == 1 || status == 10); + return approval && approvableStatus; + } + + /** * Returns the {@link Value} of an entry based on the provided description. *