mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-18 15:39:50 +00:00
Expand repeated expenses.
This commit is contained in:
@@ -98,6 +98,51 @@ class Date
|
||||
return $currentEnd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Carbon $theCurrentEnd
|
||||
* @param $repeatFreq
|
||||
*
|
||||
* @return mixed
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function endOfX(Carbon $theCurrentEnd, $repeatFreq)
|
||||
{
|
||||
$currentEnd = clone $theCurrentEnd;
|
||||
switch ($repeatFreq) {
|
||||
default:
|
||||
throw new FireflyException('Cannot do endOfPeriod for $repeat_freq ' . $repeatFreq);
|
||||
break;
|
||||
case 'daily':
|
||||
$currentEnd->endOfDay();
|
||||
break;
|
||||
case 'week':
|
||||
case 'weekly':
|
||||
$currentEnd->endOfWeek();
|
||||
break;
|
||||
case 'month':
|
||||
case 'monthly':
|
||||
$currentEnd->endOfMonth();
|
||||
break;
|
||||
case 'quarter':
|
||||
case 'quarterly':
|
||||
$currentEnd->lastOfQuarter();
|
||||
break;
|
||||
case 'half-year':
|
||||
$month = intval($theCurrentEnd->format('m'));
|
||||
$currentEnd->endOfYear();
|
||||
if($month <= 6) {
|
||||
$currentEnd->subMonths(6);
|
||||
}
|
||||
break;
|
||||
case 'year':
|
||||
case 'yearly':
|
||||
$currentEnd->endOfYear();
|
||||
break;
|
||||
}
|
||||
|
||||
return $currentEnd;
|
||||
}
|
||||
|
||||
public function periodShow(Carbon $date, $repeatFrequency)
|
||||
{
|
||||
switch ($repeatFrequency) {
|
||||
@@ -107,13 +152,18 @@ class Date
|
||||
case 'daily':
|
||||
return $date->format('j F Y');
|
||||
break;
|
||||
case 'week':
|
||||
case 'weekly':
|
||||
return $date->format('\W\e\e\k W, Y');
|
||||
break;
|
||||
case 'quarter':
|
||||
return $date->format('F Y');
|
||||
break;
|
||||
case 'monthly':
|
||||
case 'month':
|
||||
return $date->format('F Y');
|
||||
break;
|
||||
case 'year':
|
||||
case 'yearly':
|
||||
return $date->format('Y');
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user