From 5bb6aeb9d1c05dd66241d60858bd02e920aa6741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Tue, 17 Jul 2012 12:37:14 +0200 Subject: [PATCH] Bug #123: Check the cases where the repeated criterion satisfaction was already deleted. The save() method was removed and replaced with confirm(), which is exactly the same to the code used in Workers screen, and it's working correctly. FEA: ItEr76S04BugFixing --- .../AssignedMachineCriterionsModel.java | 26 +++++-------------- .../IAssignedMachineCriterionsModel.java | 2 -- .../worker/CriterionsMachineController.java | 2 +- 3 files changed, 8 insertions(+), 22 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/resources/machine/AssignedMachineCriterionsModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/resources/machine/AssignedMachineCriterionsModel.java index 4a91d26f4..1b897599c 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/resources/machine/AssignedMachineCriterionsModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/resources/machine/AssignedMachineCriterionsModel.java @@ -311,6 +311,8 @@ public class AssignedMachineCriterionsModel extends IntegrationEntityModel CriterionSatisfactionDTO satisfaction) { for (CriterionSatisfactionDTO otherSatisfaction : criterionSatisfactionDTOs) { if ((!otherSatisfaction.equals(satisfaction)) + && (!otherSatisfaction.isIsDeleted()) + && (!satisfaction.isIsDeleted()) && (sameCriterion(otherSatisfaction, satisfaction)) && (sameInterval(otherSatisfaction, satisfaction))) { return true; @@ -351,25 +353,6 @@ public class AssignedMachineCriterionsModel extends IntegrationEntityModel return satisfaction.overlapsWith(otherInterval); } - @Transactional - public void save() throws ValidationException { - for (CriterionSatisfactionDTO satisfactionDTO : getWithCriterionAssignedDTOs()) { - save(satisfactionDTO); - } - } - - private void save(CriterionSatisfactionDTO satisfactionDTO) { - if (satisfactionDTO.isNewObject()) { - addNewSatisfaction(satisfactionDTO); - } else { - if (satisfactionDTO.isIsDeleted()) { - removeSatisfaction(satisfactionDTO); - } else { - updateSatisfaction(satisfactionDTO); - } - } - } - private void addNewSatisfaction(CriterionSatisfactionDTO satisfactionDTO) { Interval interval = satisfactionDTO.getInterval(); CriterionSatisfaction satisfaction = resource.addSatisfaction( @@ -437,6 +420,9 @@ public class AssignedMachineCriterionsModel extends IntegrationEntityModel satisfaction = CriterionSatisfaction.create(criterion, resource, interval); + // set the autogenerated code + currentCriterionSatisfaction = satisfaction; + setDefaultCode(); } else { satisfaction = satisfactionDTO.getCriterionSatisfaction(); if (satisfactionDTO.isIsDeleted()) { @@ -445,6 +431,8 @@ public class AssignedMachineCriterionsModel extends IntegrationEntityModel satisfaction.setStartDate(satisfactionDTO.getStart()); if (satisfactionDTO.getEndDate() != null) { satisfaction.finish(satisfactionDTO.getEnd()); + } else { + satisfaction.noFinish(); } } } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/resources/machine/IAssignedMachineCriterionsModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/resources/machine/IAssignedMachineCriterionsModel.java index 566f04641..352126676 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/resources/machine/IAssignedMachineCriterionsModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/resources/machine/IAssignedMachineCriterionsModel.java @@ -60,8 +60,6 @@ public interface IAssignedMachineCriterionsModel extends void remove(CriterionSatisfactionDTO criterionSatisfactionDTO); - void save() throws ValidationException; - public void setCriterionWithItsType( CriterionSatisfactionDTO criterionSatisfactionDTO, CriterionWithItsType criterionAndType) throws WrongValueException; diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/CriterionsMachineController.java b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/CriterionsMachineController.java index f83d1d97d..28ccdfeae 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/CriterionsMachineController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/CriterionsMachineController.java @@ -247,7 +247,7 @@ public class CriterionsMachineController extends GenericForwardComposer { } public void save() throws ValidationException{ - assignedMachineCriterionsModel.save(); + assignedMachineCriterionsModel.confirm(); } /**