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 'startdate' => 'date', // when you started
'targetdate' => 'date', // when its due 'targetdate' => 'date', // when its due
'repeats' => 'required|boolean', // does it repeat? '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_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 '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? 'reminder' => 'in:day,week,month,year', // want a reminder to put money in this?

View File

@ -1,6 +1,7 @@
<?php <?php
use LaravelBook\Ardent\Ardent as Ardent; use Carbon\Carbon;
use LaravelBook\Ardent\Ardent;
use LaravelBook\Ardent\Builder;
/** /**
* PiggybankRepetition * PiggybankRepetition
@ -63,5 +64,12 @@ class PiggybankRepetition extends Ardent
return $this->belongsTo('Piggybank'); 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'));
}
} }