From 203ae2812f5b9669668ddbd41a3a306743ca4b33 Mon Sep 17 00:00:00 2001 From: Rick Cuddy Date: Fri, 22 Jul 2022 19:57:40 +1000 Subject: [PATCH 1/2] Use Piggy Bank's start date in monthly suggestion #6254 --- app/Repositories/PiggyBank/PiggyBankRepository.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Repositories/PiggyBank/PiggyBankRepository.php b/app/Repositories/PiggyBank/PiggyBankRepository.php index 9acd034ec8..e74d486dd3 100644 --- a/app/Repositories/PiggyBank/PiggyBankRepository.php +++ b/app/Repositories/PiggyBank/PiggyBankRepository.php @@ -341,7 +341,8 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface } if (null !== $piggyBank->targetdate && $repetition->currentamount < $piggyBank->targetamount) { $now = Carbon::now(); - $diffInMonths = $now->diffInMonths($piggyBank->targetdate, false); + $startDate = null !== $piggyBank->startdate && $piggyBank->startdate->gte($now) ? $piggyBank->startdate : $now; + $diffInMonths = $startDate->diffInMonths($piggyBank->targetdate, false); $remainingAmount = bcsub($piggyBank->targetamount, $repetition->currentamount); // more than 1 month to go and still need money to save: From e8ec13ca5f956eff8d6340aa171b6382c3f699e6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 23 Jul 2022 16:47:05 +0200 Subject: [PATCH 2/2] Fix https://github.com/firefly-iii/firefly-iii/issues/6260 --- app/Repositories/Bill/BillRepository.php | 2 +- app/Transformers/TransactionGroupTransformer.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Repositories/Bill/BillRepository.php b/app/Repositories/Bill/BillRepository.php index 9fc2ac0ed5..f0277b97c1 100644 --- a/app/Repositories/Bill/BillRepository.php +++ b/app/Repositories/Bill/BillRepository.php @@ -438,7 +438,7 @@ class BillRepository implements BillRepositoryInterface //Log::debug(sprintf('Dates = %d, journalCount = %d, total = %d', $dates->count(), $count, $total)); if ($total > 0) { - $average = bcdiv(bcadd($bill->amount_max, $bill->amount_min), '2'); + $average = bcdiv(bcadd((string) $bill->amount_max, (string) $bill->amount_min), '2'); $multi = bcmul($average, (string) $total); $return[$currencyId] = $return[$currencyId] ?? '0'; $return[$currencyId] = bcadd($return[$currencyId], $multi); diff --git a/app/Transformers/TransactionGroupTransformer.php b/app/Transformers/TransactionGroupTransformer.php index 895e348dda..b60fab159b 100644 --- a/app/Transformers/TransactionGroupTransformer.php +++ b/app/Transformers/TransactionGroupTransformer.php @@ -352,7 +352,7 @@ class TransactionGroupTransformer extends AbstractTransformer $source = $this->getSourceTransaction($journal); $destination = $this->getDestinationTransaction($journal); $type = $journal->transactionType->type; - $amount = $this->getAmount($type, $source->amount); + $amount = $this->getAmount($type, (string) $source->amount); $foreignAmount = $this->getForeignAmount($type, $source->foreign_amount); $metaFieldData = $this->groupRepos->getMetaFields($journal->id, $this->metaFields); $metaDates = $this->getDates($this->groupRepos->getMetaDateFields($journal->id, $this->metaDateFields));