mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-30 02:26:58 +00:00
Mobile add money to piggy routine
This commit is contained in:
@@ -251,6 +251,7 @@ class AccountController extends Controller
|
|||||||
$end = Navigation::subtractPeriod($end, $range, 1);
|
$end = Navigation::subtractPeriod($end, $range, 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
$cache->store($entries);
|
||||||
|
|
||||||
return view('accounts.show', compact('account', 'what', 'entries', 'subTitleIcon', 'journals', 'subTitle'));
|
return view('accounts.show', compact('account', 'what', 'entries', 'subTitleIcon', 'journals', 'subTitle'));
|
||||||
}
|
}
|
||||||
|
@@ -48,6 +48,26 @@ class PiggyBankController extends Controller
|
|||||||
View::share('mainTitleIcon', 'fa-sort-amount-asc');
|
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
|
* Add money to piggy bank
|
||||||
*
|
*
|
||||||
|
@@ -320,9 +320,7 @@ class ReportController extends Controller
|
|||||||
$incomes = $this->helper->getIncomeReport($start, $end, $accounts);
|
$incomes = $this->helper->getIncomeReport($start, $end, $accounts);
|
||||||
$expenses = $this->helper->getExpenseReport($start, $end, $accounts);
|
$expenses = $this->helper->getExpenseReport($start, $end, $accounts);
|
||||||
$tags = $this->helper->tagReport($start, $end, $accounts);
|
$tags = $this->helper->tagReport($start, $end, $accounts);
|
||||||
|
$budgets = $this->budgetHelper->budgetYearOverview($start, $end, $accounts);
|
||||||
// find the budgets we've spent money on this period with these accounts:
|
|
||||||
$budgets = $this->budgetHelper->getBudgetsWithExpenses($start, $end, $accounts);
|
|
||||||
|
|
||||||
Session::flash('gaEventCategory', 'report');
|
Session::flash('gaEventCategory', 'report');
|
||||||
Session::flash('gaEventAction', 'year');
|
Session::flash('gaEventAction', 'year');
|
||||||
|
@@ -277,6 +277,13 @@ Route::group(
|
|||||||
Route::get('/piggy-banks', ['uses' => 'PiggyBankController@index', 'as' => 'piggy-banks.index']);
|
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/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/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/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/edit/{piggyBank}', ['uses' => 'PiggyBankController@edit', 'as' => 'piggy-banks.edit']);
|
||||||
Route::get('/piggy-banks/delete/{piggyBank}', ['uses' => 'PiggyBankController@delete', 'as' => 'piggy-banks.delete']);
|
Route::get('/piggy-banks/delete/{piggyBank}', ['uses' => 'PiggyBankController@delete', 'as' => 'piggy-banks.delete']);
|
||||||
|
@@ -23,6 +23,7 @@ use FireflyIII\User;
|
|||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Query\JoinClause;
|
use Illuminate\Database\Query\JoinClause;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
|
use Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BudgetRepository
|
* Class BudgetRepository
|
||||||
@@ -44,6 +45,18 @@ class BudgetRepository implements BudgetRepositoryInterface
|
|||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function cleanupBudgets(): bool
|
||||||
|
{
|
||||||
|
// delete limits with amount 0:
|
||||||
|
BudgetLimit::where('amount', 0)->delete();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Budget $budget
|
* @param Budget $budget
|
||||||
*
|
*
|
||||||
@@ -156,18 +169,6 @@ class BudgetRepository implements BudgetRepositoryInterface
|
|||||||
return $set;
|
return $set;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function cleanupBudgets(): bool
|
|
||||||
{
|
|
||||||
// delete limits with amount 0:
|
|
||||||
BudgetLimit::where('amount', 0)->delete();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Collection
|
* @return Collection
|
||||||
*/
|
*/
|
||||||
|
@@ -739,6 +739,7 @@ return [
|
|||||||
'balanceFor' => 'Balance for :name',
|
'balanceFor' => 'Balance for :name',
|
||||||
|
|
||||||
// piggy banks:
|
// piggy banks:
|
||||||
|
'add_money_to_piggy' => 'Add money to piggy bank ":name"',
|
||||||
'piggy_bank' => 'Piggy bank',
|
'piggy_bank' => 'Piggy bank',
|
||||||
'new_piggy_bank' => 'Create new piggy bank',
|
'new_piggy_bank' => 'Create new piggy bank',
|
||||||
'store_piggy_bank' => 'Store new piggy bank',
|
'store_piggy_bank' => 'Store new piggy bank',
|
||||||
|
@@ -2,6 +2,12 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{% for piggyBank in piggyBanks %}
|
{% for piggyBank in piggyBanks %}
|
||||||
<tr data-id="{{ piggyBank.id }}">
|
<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">
|
<td style="width:60px;" class="hidden-sm hidden-xs">
|
||||||
<i class="fa fa-fw fa-bars handle"></i>
|
<i class="fa fa-fw fa-bars handle"></i>
|
||||||
<i class="loadSpin"></i>
|
<i class="loadSpin"></i>
|
||||||
|
39
resources/views/piggy-banks/add-mobile.twig
Normal file
39
resources/views/piggy-banks/add-mobile.twig
Normal 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>
|
||||||
|
|
||||||
|
</p>
|
||||||
|
<button type="submit" class="btn btn-success pull-right">
|
||||||
|
{{ 'add'|_ }}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
{{ Form.close|raw }}
|
||||||
|
{% endblock %}
|
Reference in New Issue
Block a user