diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/scenarios/TransferOrdersModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/scenarios/TransferOrdersModel.java index 03a2ee6ea..13cd75511 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/scenarios/TransferOrdersModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/scenarios/TransferOrdersModel.java @@ -135,8 +135,6 @@ public class TransferOrdersModel implements ITransferOrdersModel { @Override @Transactional public void transfer(Order order) throws ValidationException { - orderDAO.save(order); - Scenario sourceScenario = getSourceScenario(); Scenario destinationScenario = getDestinationScenario(); @@ -170,6 +168,7 @@ public class TransferOrdersModel implements ITransferOrdersModel { _("Order version is the same in source and destination scenarios")); } + orderDAO.save(order); order.useSchedulingDataFor(sourceOrderVersion); OrderVersion newOrderVersion = OrderVersion diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/scenarios/TransferOrdersModelTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/scenarios/TransferOrdersModelTest.java index 47b6005dd..cdddfacf5 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/scenarios/TransferOrdersModelTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/scenarios/TransferOrdersModelTest.java @@ -230,11 +230,12 @@ public class TransferOrdersModelTest { transactionService.runOnTransaction(new IOnTransaction() { @Override public Void execute() { + // reload order so it has the relationship with destination + Order orderReloaded = orderDAO.findExistingEntity(order.getId()); transferOrdersModel.setSourceScenario(source); transferOrdersModel.setDestinationScenario(destination); - transferOrdersModel.transfer(order); - + transferOrdersModel.transfer(orderReloaded); return null; } });