mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 18:54:58 +00:00 
			
		
		
		
	Some expansion on the index of repeated expenses, and the first reference to the show page.
This commit is contained in:
		| @@ -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"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user