Mobile add money to piggy routine

This commit is contained in:
James Cole 2016-06-16 20:52:59 +02:00
parent 6267930938
commit ae649223d8
8 changed files with 88 additions and 15 deletions

View File

@ -251,6 +251,7 @@ class AccountController extends Controller
$end = Navigation::subtractPeriod($end, $range, 1);
}
$cache->store($entries);
return view('accounts.show', compact('account', 'what', 'entries', 'subTitleIcon', 'journals', 'subTitle'));
}

View File

@ -48,6 +48,26 @@ class PiggyBankController extends Controller
View::share('mainTitleIcon', 'fa-sort-amount-asc');
}
/**
* Add money to piggy bank (for mobile devices)
*
* @param ARI $repository
* @param PiggyBank $piggyBank
*
* @return $this
*/
public function addMobile(ARI $repository, PiggyBank $piggyBank)
{
/** @var Carbon $date */
$date = session('end', Carbon::now()->endOfMonth());
$leftOnAccount = $repository->leftOnAccount($piggyBank->account, $date);
$savedSoFar = $piggyBank->currentRelevantRep()->currentamount;
$leftToSave = bcsub($piggyBank->targetamount, $savedSoFar);
$maxAmount = min($leftOnAccount, $leftToSave);
return view('piggy-banks.add-mobile', compact('piggyBank', 'maxAmount'));
}
/**
* Add money to piggy bank
*

View File

@ -320,9 +320,7 @@ class ReportController extends Controller
$incomes = $this->helper->getIncomeReport($start, $end, $accounts);
$expenses = $this->helper->getExpenseReport($start, $end, $accounts);
$tags = $this->helper->tagReport($start, $end, $accounts);
// find the budgets we've spent money on this period with these accounts:
$budgets = $this->budgetHelper->getBudgetsWithExpenses($start, $end, $accounts);
$budgets = $this->budgetHelper->budgetYearOverview($start, $end, $accounts);
Session::flash('gaEventCategory', 'report');
Session::flash('gaEventAction', 'year');

View File

@ -277,6 +277,13 @@ Route::group(
Route::get('/piggy-banks', ['uses' => 'PiggyBankController@index', 'as' => 'piggy-banks.index']);
Route::get('/piggy-banks/add/{piggyBank}', ['uses' => 'PiggyBankController@add', 'as' => 'piggy-banks.addMoney']);
Route::get('/piggy-banks/remove/{piggyBank}', ['uses' => 'PiggyBankController@remove', 'as' => 'piggy-banks.removeMoney']);
Route::get('/piggy-banks/add-money/{piggyBank}', ['uses' => 'PiggyBankController@addMobile', 'as' => 'piggy-banks.add-money-mobile']);
Route::get('/piggy-banks/remove-money/{piggyBank}', ['uses' => 'PiggyBankController@removeMobile', 'as' => 'piggy-banks.remove-money-mobile']);
Route::post('/piggy-banks/add-money/{piggyBank}', ['uses' => 'PiggyBankController@postAddMobile', 'as' => 'piggy-banks.post-add-mobile']);
Route::post('/piggy-banks/remove-money/{piggyBank}', ['uses' => 'PiggyBankController@postRemoveMobile', 'as' => 'piggy-banks.post-remove-mobile']);
Route::get('/piggy-banks/create', ['uses' => 'PiggyBankController@create', 'as' => 'piggy-banks.create']);
Route::get('/piggy-banks/edit/{piggyBank}', ['uses' => 'PiggyBankController@edit', 'as' => 'piggy-banks.edit']);
Route::get('/piggy-banks/delete/{piggyBank}', ['uses' => 'PiggyBankController@delete', 'as' => 'piggy-banks.delete']);

View File

@ -23,6 +23,7 @@ use FireflyIII\User;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Query\JoinClause;
use Illuminate\Support\Collection;
use Log;
/**
* Class BudgetRepository
@ -44,6 +45,18 @@ class BudgetRepository implements BudgetRepositoryInterface
$this->user = $user;
}
/**
* @return bool
*/
public function cleanupBudgets(): bool
{
// delete limits with amount 0:
BudgetLimit::where('amount', 0)->delete();
return true;
}
/**
* @param Budget $budget
*
@ -156,18 +169,6 @@ class BudgetRepository implements BudgetRepositoryInterface
return $set;
}
/**
* @return bool
*/
public function cleanupBudgets(): bool
{
// delete limits with amount 0:
BudgetLimit::where('amount', 0)->delete();
return true;
}
/**
* @return Collection
*/

View File

@ -739,6 +739,7 @@ return [
'balanceFor' => 'Balance for :name',
// piggy banks:
'add_money_to_piggy' => 'Add money to piggy bank ":name"',
'piggy_bank' => 'Piggy bank',
'new_piggy_bank' => 'Create new piggy bank',
'store_piggy_bank' => 'Store new piggy bank',

View File

@ -2,6 +2,12 @@
<tbody>
{% for piggyBank in piggyBanks %}
<tr data-id="{{ piggyBank.id }}">
<td class="visible-xs visible-sm hidden-md hidden-lg">
<div class="btn-group btn-group-xs">
<a href="{{ route('piggy-banks.remove-money-mobile', piggyBank.id) }}" class="btn btn-default btn-xs"><i class="fa fa-minus"></i></a>
<a href="{{ route('piggy-banks.add-money-mobile', piggyBank.id) }}" class="btn btn-default btn-xs"><i class="fa fa-plus"></i></a>
</div>
</td>
<td style="width:60px;" class="hidden-sm hidden-xs">
<i class="fa fa-fw fa-bars handle"></i>
<i class="loadSpin"></i>

View File

@ -0,0 +1,39 @@
{% extends "./layout/default.twig" %}
{% block breadcrumbs %}
{{ Breadcrumbs.renderIfExists(Route.getCurrentRoute.getName) }}
{% endblock %}
{% block content %}
{{ Form.open({'class' : 'form-horizontal','id' : 'store','url' : route('piggy-banks.post-add-mobile', piggyBank.id)}) }}
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('firefly.add_money_to_piggy', {name: piggyBank.name}) }}</h3>
</div>
<div class="box-body">
<p>
{{ 'max_amount_add'|_ }}: {{ maxAmount|formatAmount }}.
</p>
<div class="input-group">
<div class="input-group-addon">{{ getCurrencySymbol()|raw }}</div>
<input step="any" class="form-control" id="amount" autocomplete="off" name="amount" max="{{ maxAmount|round(2) }}" type="number"/>
</div>
<p>
&nbsp;
</p>
<button type="submit" class="btn btn-success pull-right">
{{ 'add'|_ }}
</button>
</div>
</div>
</div>
</div>
{{ Form.close|raw }}
{% endblock %}