mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Some expansion on the index of repeated expenses, and the first reference to the show page.
This commit is contained in:
parent
7336367eff
commit
4456ef2326
@ -46,29 +46,35 @@ class RepeatedExpenseController extends BaseController
|
||||
throw new FireflyException('Cannot handle "' . $piggyBank->reminder . '" reminders for repeated expenses');
|
||||
break;
|
||||
case 'month':
|
||||
$piggyBank->parts = $piggyBank->currentRep->startdate->diffInMonths($piggyBank->currentRep->targetdate);
|
||||
$start = clone $piggyBank->currentRep->startdate;
|
||||
$start->startOfMonth();
|
||||
$end = clone $piggyBank->currentRep->targetdate;
|
||||
$end->endOfMonth();
|
||||
$piggyBank->parts = $start->diffInMonths($end);
|
||||
unset($start, $end);
|
||||
break;
|
||||
}
|
||||
|
||||
} else {
|
||||
$piggyBank->parts = 1;
|
||||
}
|
||||
|
||||
// number of bars:
|
||||
$piggyBank->barCount = floor(12 / $piggyBank->parts);
|
||||
$piggyBank->barCount = floor(12 / $piggyBank->parts) == 0 ? 1 : floor(12 / $piggyBank->parts);
|
||||
$amountPerBar = floatval($piggyBank->targetamount) / $piggyBank->parts;
|
||||
$currentAmount = floatval($amountPerBar);
|
||||
$bars = [];
|
||||
$currentDate = clone $piggyBank->currentRep->startdate;
|
||||
for ($i = 0; $i < $piggyBank->parts; $i++) {
|
||||
// niet elke keer een andere dinges pakken? om target te redden?
|
||||
|
||||
if (!is_null($piggyBank->reminder)) {
|
||||
$currentDate = \DateKit::addPeriod($currentDate, $piggyBank->reminder, 0);
|
||||
}
|
||||
$bars[] = [
|
||||
'amount' => $currentAmount,
|
||||
'date' => $currentDate
|
||||
];
|
||||
if (!is_null($piggyBank->reminder)) {
|
||||
$currentDate = \DateKit::addPeriod($currentDate, $piggyBank->reminder, 0);
|
||||
}
|
||||
|
||||
|
||||
$currentAmount += $amountPerBar;
|
||||
}
|
||||
|
@ -205,10 +205,14 @@ class Piggybank
|
||||
*/
|
||||
public function validateRepeatedExpenses()
|
||||
{
|
||||
if(!\Auth::check()) {
|
||||
return;
|
||||
}
|
||||
/** @var \FireflyIII\Database\RepeatedExpense $repository */
|
||||
$repository = \App::make('FireflyIII\Database\RepeatedExpense');
|
||||
|
||||
$list = $repository->get();
|
||||
$list = $repository->get();
|
||||
$today = Carbon::now();
|
||||
|
||||
/** @var \Piggybank $entry */
|
||||
foreach ($list as $entry) {
|
||||
@ -225,7 +229,7 @@ class Piggybank
|
||||
$repetition->save();
|
||||
}
|
||||
// then continue and do something in the current relevant timeframe.
|
||||
$today = Carbon::now();
|
||||
|
||||
$currentTarget = clone $target;
|
||||
$currentStart = null;
|
||||
while ($currentTarget < $today) {
|
||||
@ -243,7 +247,6 @@ class Piggybank
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,6 +39,7 @@ class Date
|
||||
case 'monthly':
|
||||
$date->addMonths($add);
|
||||
break;
|
||||
case 'quarter':
|
||||
case 'quarterly':
|
||||
$months = $add * 3;
|
||||
$date->addMonths($months);
|
||||
@ -142,6 +143,7 @@ class Date
|
||||
case 'monthly':
|
||||
$date->startOfMonth();
|
||||
break;
|
||||
case 'quarter':
|
||||
case 'quarterly':
|
||||
$date->firstOfQuarter();
|
||||
break;
|
||||
@ -184,6 +186,7 @@ class Date
|
||||
case 'monthly':
|
||||
$date->subMonths($subtract);
|
||||
break;
|
||||
case 'quarter':
|
||||
case 'quarterly':
|
||||
$months = $subtract * 3;
|
||||
$date->subMonths($months);
|
||||
|
@ -200,6 +200,7 @@ Route::group(
|
||||
// repeated expenses controller:
|
||||
Route::get('/repeatedexpenses', ['uses' => 'RepeatedExpenseController@index', 'as' => 'repeated.index']);
|
||||
Route::get('/repeatedexpenses/create', ['uses' => 'RepeatedExpenseController@create', 'as' => 'repeated.create']);
|
||||
Route::get('/repeatedexpenses/show/{repeated}', ['uses' => 'RepeatedExpenseController@show', 'as' => 'repeated.show']);
|
||||
|
||||
// report controller:
|
||||
Route::get('/reports', ['uses' => 'ReportController@index', 'as' => 'reports.index']);
|
||||
|
@ -18,7 +18,7 @@
|
||||
<div class="col-lg-12 col-sm-12 col-md-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<a href="#" title="{{{$entry->name}}}">{{{$entry->name}}}</a> ({{mf($entry->currentRep->currentamount)}})
|
||||
<a href="{{route('repeated.show',$entry->id)}}" title="{{{$entry->name}}}">{{{$entry->name}}}</a> ({{mf($entry->currentRep->currentamount)}})
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
|
Loading…
Reference in New Issue
Block a user