Cleanup and expansion to accomodate repeated expenses.

This commit is contained in:
James Cole 2014-11-22 23:32:10 +01:00
parent 3d3842b9d6
commit 4a74e68e31
3 changed files with 11 additions and 37 deletions

View File

@ -119,38 +119,4 @@ class LimitRepetition extends Ardent
}
}
/**
* TODO remove this method in favour of something in the FireflyIII libraries.
*
* Same as above, just with a more natural view. So "March 2012".
*/
public function periodShow()
{
if (is_null($this->repeat_freq)) {
$this->repeat_freq = $this->limit->repeat_freq;
}
switch ($this->repeat_freq) {
default:
throw new FireflyException('No date formats for frequency "' . $this->repeat_freq . '"!');
break;
case 'daily':
return $this->startdate->format('j F Y');
break;
case 'weekly':
return $this->startdate->format('\W\e\e\k W, Y');
break;
case 'monthly':
return $this->startdate->format('F Y');
break;
case 'half-year':
case 'quarterly':
return $this->startdate->format('M Y') . ' - ' . $this->enddate->format('M Y');
break;
case 'yearly':
return $this->startdate->format('Y');
break;
}
}
}

View File

@ -53,7 +53,7 @@ class Piggybank extends Ardent
'startdate' => 'date', // when you started
'targetdate' => 'date', // when its due
'repeats' => 'required|boolean', // does it repeat?
'rep_length' => 'in:day,week,month,year', // how long is the period?
'rep_length' => 'in:day,week,month,quarter,year', // how long is the period?
'rep_every' => 'required|min:1|max:100', // how often does it repeat? every 3 years.
'rep_times' => 'min:1|max:100', // how many times do you want to save this amount? eg. 3 times
'reminder' => 'in:day,week,month,year', // want a reminder to put money in this?

View File

@ -1,6 +1,7 @@
<?php
use LaravelBook\Ardent\Ardent as Ardent;
use Carbon\Carbon;
use LaravelBook\Ardent\Ardent;
use LaravelBook\Ardent\Builder;
/**
* PiggybankRepetition
@ -63,5 +64,12 @@ class PiggybankRepetition extends Ardent
return $this->belongsTo('Piggybank');
}
public function scopeStarts(Builder $query, Carbon $date) {
$query->where('startdate',$date->format('Y-m-d'));
}
public function scopeTargets(Builder $query, Carbon $date) {
$query->where('targetdate',$date->format('Y-m-d'));
}
}