Some bug fixes and a new view for piggy banks. [skip ci]

This commit is contained in:
James Cole
2014-08-21 18:49:51 +02:00
parent f63ef2ae45
commit 9a04a4a4fc
3 changed files with 156 additions and 30 deletions

View File

@@ -43,6 +43,10 @@ class HomeController extends BaseController
*/ */
public function index() public function index()
{ {
\Event::fire('limits.check');
\Event::fire('piggybanks.check');
// count, maybe we need some introducing text to show: // count, maybe we need some introducing text to show:
$count = $this->_accounts->count(); $count = $this->_accounts->count();
$start = Session::get('start'); $start = Session::get('start');

View File

@@ -125,7 +125,7 @@ class EloquentPiggybankTrigger
{ {
if (\Auth::check()) { if (\Auth::check()) {
$piggies = \Auth::user()->piggybanks()->whereNotNull('repeats')->get(); $piggies = \Auth::user()->piggybanks()->where('repeats',1)->get();
} else { } else {
$piggies = []; $piggies = [];
} }

View File

@@ -12,7 +12,8 @@
<p class="lead">Save money for large expenses</p> <p class="lead">Save money for large expenses</p>
<p class="text-info"> <p class="text-info">
Saving money is <em>hard</em>. Firefly's piggy banks can help you to save money. Simply set the amount Saving money is <em>hard</em>. Firefly's piggy banks can help you to save money. Simply set the amount
of money you want to save, set an optional target date and whether or not Firefly should remind you to add money of money you want to save, set an optional target date and whether or not
Firefly should remind you to add money
to the piggy bank. to the piggy bank.
</p> </p>
<p> <p>
@@ -32,58 +33,177 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-md-6 col-sm-12"> <div class="col-lg-12 col-md-12 col-sm-12">
<h3>Current piggy banks</h3> <h3>Current piggy banks</h3>
@if($countNonRepeating == 0) @if($countNonRepeating == 0)
<p class="text-warning">No piggy banks found.</p> <p class="text-warning">No piggy banks found.</p>
@else @else
<table class="table table-bordered">
@foreach($piggybanks as $piggyBank) @foreach($piggybanks as $piggyBank)
@if($piggyBank->repeats == 0) @if($piggyBank->repeats == 0)
<!-- display piggy bank --> <h4><a href="{{route('piggybanks.show',$piggyBank->id)}}">{{{$piggyBank->name}}}</a></h4>
<table class="table">
<tr>
<td style="width:10%;">{{mf($piggyBank->currentRelevantRep()->currentamount)}}</td>
<td colspan="2">
<div class="progress">
<div class="progress-bar
@if($piggyBank->currentRelevantRep()->pct() == 100)
progress-bar-success
@endif
" role="progressbar" aria-valuenow="{{$piggyBank->currentRelevantRep()->pct()}}" aria-valuemin="0" aria-valuemax="100" style="width: {{$piggyBank->currentRelevantRep()->pct()}}%;min-width: 30px;">
{{$piggyBank->currentRelevantRep()->pct()}}%
</div>
</div>
</td>
<td style="width:10%;">{{mf($piggyBank->targetamount)}}</td>
</tr>
<tr>
<td>
</td>
<td style="width:40%;">
<div class="btn-group-xs btn-group">
@if($piggyBank->leftInAccount > 0)
<a data-toggle="modal" href="{{route('piggybanks.amount.add',$piggyBank->id)}}" data-target="#modal" class="btn btn-default"><span class="glyphicon glyphicon-plus-sign"></span> Add money</a>
@endif
@if($piggyBank->currentRelevantRep()->currentamount > 0)
<a data-toggle="modal" href="{{route('piggybanks.amount.remove',$piggyBank->id)}}" data-target="#modal" class="btn btn-default"><span class="glyphicon glyphicon-minus-sign"></span> Remove money</a>
@endif
</div>
</td>
<td style="width:40%;">
<div class="btn-group-xs btn-group">
<a href="{{route('piggybanks.edit',$piggyBank->id)}}" class="btn btn-default"><span class="glyphicon glyphicon-pencil"></span></a>
<a href="{{route('piggybanks.delete',$piggyBank->id)}}" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span></a>
</div>
</td>
<td></td>
</tr>
</table>
@endif
@endforeach
@endif
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<h3>Current repeated expenses</h3>
@if($countRepeating == 0)
<p class="text-warning">No repeated expenses found.</p>
@else
@foreach($piggybanks as $repeated)
@if($repeated->repeats == 1)
<h4><a href="{{route('piggybanks.show',$repeated->id)}}">{{{$repeated->name}}}</a></h4>
<table class="table">
<tr>
<td style="width:10%;">{{mf($repeated->currentRelevantRep()->currentamount)}}</td>
<td colspan="2">
<div class="progress">
<div class="progress-bar
@if($repeated->currentRelevantRep()->pct() == 100)
progress-bar-success
@endif
" role="progressbar" aria-valuenow="{{$repeated->currentRelevantRep()->pct()}}" aria-valuemin="0" aria-valuemax="100" style="width: {{$repeated->currentRelevantRep()->pct()}}%;min-width: 30px;">
{{$repeated->currentRelevantRep()->pct()}}%
</div>
</div>
</td>
<td style="width:10%;">{{mf($repeated->targetamount)}}</td>
</tr>
<tr>
<td>
</td>
<td style="width:40%;">
<div class="btn-group-xs btn-group">
@if($repeated->leftInAccount > 0)
<a data-toggle="modal" href="{{route('piggybanks.amount.add',$repeated->id)}}" data-target="#modal" class="btn btn-default"><span class="glyphicon glyphicon-plus-sign"></span> Add money</a>
@endif
@if($repeated->currentRelevantRep()->currentamount > 0)
<a data-toggle="modal" href="{{route('piggybanks.amount.remove',$repeated->id)}}" data-target="#modal" class="btn btn-default"><span class="glyphicon glyphicon-minus-sign"></span> Remove money</a>
@endif
</div>
</td>
<td style="width:40%;">
<div class="btn-group-xs btn-group">
<a href="{{route('piggybanks.edit',$repeated->id)}}" class="btn btn-default"><span class="glyphicon glyphicon-pencil"></span></a>
<a href="{{route('piggybanks.delete',$repeated->id)}}" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span></a>
</div>
</td>
<td></td>
</tr>
</table>
@endif
@endforeach
@endif
</div>
</div>
{{--
<table class="table table-bordered">
<tr> <tr>
<td> <td style="width:40%;">Target amount</td>
<h4><a href="{{route('piggybanks.show',$piggyBank->id)}}">{{{$piggyBank->name}}}</a> <small> <span class="label label-default">{{$piggyBank->currentRelevantRep()->pct()}}%</span></small></h4> <td style="width:40%;">{{mf($piggyBank->targetamount)}}</td>
<td><span class="text-muted">{{100-$piggyBank->currentRelevantRep()->pct()}}%</span></td>
</tr>
<tr>
<td>Saved so far</td>
<td>{{mf($piggyBank->currentRelevantRep()->currentamount)}}</td>
<td><span class="text-muted">{{$piggyBank->currentRelevantRep()->pct()}}%</span></td>
</tr>
@if(!is_null($piggyBank->targetdate))
<tr>
<td>Target date</td>
<td>{{$piggyBank->currentRelevantRep()->targetdate->format('M jS, Y')}}</td>
<td><span class="text-muted">Time diff</span></td>
</tr>
@endif
@if(!is_null($piggyBank->reminder))
<tr>
<td>Next reminder</td>
<td colspan="2">{{$piggyBank->nextReminderDate()->format('M jS, Y')}}</td>
</tr>
@endif
<tr>
<td colspan="3">
</td>
</tr>
</table>
<!--
<p> <p>
<!-- target amount --> target amount --
Saving up to {{mf($piggyBank->targetamount)}}. Saving up to {{mf($piggyBank->targetamount)}}.
<!-- currently saved --> -- currently saved --
Currently saved Currently saved
{{mf($piggyBank->currentRelevantRep()->currentamount)}}.
<!-- start date (if any) -->
-- start date (if any) --
@if(!is_null($piggyBank->startdate)) @if(!is_null($piggyBank->startdate))
Start date: {{$piggyBank->currentRelevantRep()->startdate->format('d M Y')}}. Started saving on {{$piggyBank->currentRelevantRep()->startdate->format('M jS, Y')}}.
@endif @endif
<!-- target date (if any) --> -- target date (if any) --
@if(!is_null($piggyBank->targetdate)) @if(!is_null($piggyBank->targetdate))
Target date: {{$piggyBank->currentRelevantRep()->targetdate->format('d M Y')}}. Target date is .
@endif @endif
@if(!is_null($piggyBank->reminder))
Next reminder: {{$piggyBank->nextReminderDate()->format('d M Y')}}
@endif
</p> </p>
<div class="btn-group-sm btn-group">
<a href="{{route('piggybanks.edit',$piggyBank->id)}}" class="btn btn-default"><span class="glyphicon glyphicon-pencil"></span></a>
@if($piggyBank->leftInAccount > 0)
<a data-toggle="modal" href="{{route('piggybanks.amount.add',$piggyBank->id)}}" data-target="#modal" class="btn btn-default"><span class="glyphicon glyphicon-plus-sign"></span> Add money</a>
@endif
@if($piggyBank->currentRelevantRep()->currentamount > 0)
<a data-toggle="modal" href="{{route('piggybanks.amount.remove',$piggyBank->id)}}" data-target="#modal" class="btn btn-default"><span class="glyphicon glyphicon-minus-sign"></span> Remove money</a>
@endif
<a href="{{route('piggybanks.delete',$piggyBank->id)}}" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span></a>
</div>
</td> </td>
</tr> </tr>
-->
@endif @endif
@endforeach @endforeach
</table>
@endif @endif
</div> </div>
@@ -157,6 +277,8 @@
</table> </table>
</div> </div>
</div> </div>
--}}
<!-- MODAL --> <!-- MODAL -->
<div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true"> <div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">