From 44d9fa2385d9afe17a163bb28d519722abef0d65 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Mon, 21 Aug 2017 14:12:29 +0200 Subject: [PATCH] Fixed #157 - repeating payment entries are not isnerted for future months --- .../server/updater/RepeatingPaymentUpdater.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java b/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java index 2e8be2278..c43cd7cae 100644 --- a/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java +++ b/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java @@ -24,22 +24,24 @@ public class RepeatingPaymentUpdater public void updateRepeatingPayments(DateTime now) { try - { + { ArrayList<RepeatingPayment> repeatingPayments = handler.getAllRepeatingPayments(); ArrayList<LatestRepeatingPayment> latest = handler.getLatestRepeatingPaymentEntries(); for(RepeatingPayment currentPayment : repeatingPayments) { + DateTime date = now; int index = latest.indexOf(currentPayment); if(currentPayment.getRepeatEndDate() != null) { DateTime endDate = DateTime.parse(currentPayment.getRepeatEndDate()); - if(endDate.isBefore(now)) - { - now = endDate; + if(endDate.isBefore(date)) + { + date = endDate; } } - ArrayList<DateTime> correctDates = getCorrectRepeatingDates(currentPayment, now); + ArrayList<DateTime> correctDates = getCorrectRepeatingDates(currentPayment, date); + if(index != -1) { LatestRepeatingPayment currentLatest = latest.get(index); -- GitLab