diff --git a/community_server/src/Model/Table/StateBalancesTable.php b/community_server/src/Model/Table/StateBalancesTable.php index 25d588f30..ff7a0aca2 100644 --- a/community_server/src/Model/Table/StateBalancesTable.php +++ b/community_server/src/Model/Table/StateBalancesTable.php @@ -98,7 +98,12 @@ class StateBalancesTable extends AppTable // if start date for decay is after enddate, we also just return input if($decayStartDate === null || $decayStartDate >= $endDate) { if($withInterval) { - return ['balance' => $startBalance, 'interval' => new \DateInterval('PT0S')]; + return [ + 'balance' => $startBalance, + 'interval' => new \DateInterval('PT0S'), + 'start_date' => $startDate->getTimestamp(), + 'end_date' => $startDate->getTimestamp() + ]; } else { return $startBalance; } @@ -118,7 +123,12 @@ class StateBalancesTable extends AppTable } $decay = $state_balance->partDecay($endDate); if($withInterval) { - return ['balance' => $decay, 'interval' => $interval]; + return [ + 'balance' => $decay, + 'interval' => $interval, + 'start_date' => $state_balance->record_date->getTimestamp(), + 'end_date' => $endDate->getTimestamp() + ]; } else { return $decay; } diff --git a/community_server/src/Model/Table/TransactionsTable.php b/community_server/src/Model/Table/TransactionsTable.php index 223c67d54..eb04b31fd 100644 --- a/community_server/src/Model/Table/TransactionsTable.php +++ b/community_server/src/Model/Table/TransactionsTable.php @@ -196,7 +196,9 @@ class TransactionsTable extends Table { $final_transaction['decay'] = [ 'balance' => $balance, - 'decay_duration' => $calculated_decay['interval']->format('%a days, %H hours, %I minutes, %S seconds') + 'decay_duration' => $calculated_decay['interval']->format('%a days, %H hours, %I minutes, %S seconds'), + 'decay_start' => $calculated_decay['start_date'], + 'decay_end' => $calculated_decay['end_date'] ]; } } @@ -251,9 +253,10 @@ class TransactionsTable extends Table $final_transactions[] = $final_transaction; if($i == $stateUserTransactionsCount-1 && $decay == true) { + $now = new FrozenTime(); $calculated_decay = $stateBalancesTable->calculateDecay( $su_transaction->balance, - $su_transaction->balance_date, new FrozenTime(), true); + $su_transaction->balance_date, $now, true); $decay_start_date = $stateBalancesTable->getDecayStartDateCached(); $duration = $su_transaction->balance_date->timeAgoInWords(); if($decay_start_date > $su_transaction->balance_date) { @@ -265,6 +268,8 @@ class TransactionsTable extends Table 'type' => 'decay', 'balance' => $balance, 'decay_duration' => $duration, + 'decay_start' => $calculated_decay['start_date'], + 'decay_end' => $calculated_decay['end_date'], 'memo' => '' ]; }