Clean up binders.

This commit is contained in:
James Cole 2018-01-10 07:51:47 +01:00
parent c045193246
commit 48c16c3dcc
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
3 changed files with 43 additions and 16 deletions

View File

@ -32,6 +32,7 @@ use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Log;
use Request;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
/**
* Class User.
@ -60,6 +61,23 @@ class User extends Authenticatable
*/
protected $table = 'users';
/**
* @param string $value
*
* @return User
*/
public static function routeBinder(string $value): User
{
if (auth()->check()) {
$userId = intval($value);
$user = self::find($userId);
if (!is_null($user)) {
return $user;
}
}
throw new NotFoundHttpException;
}
/**
* @codeCoverageIgnore
* Link to accounts.

View File

@ -153,12 +153,12 @@ return [
'attachment' => \FireflyIII\Models\Attachment::class,
'bill' => \FireflyIII\Models\Bill::class,
'budget' => \FireflyIII\Models\Budget::class,
'budgetLimit' => \FireflyIII\Models\BudgetLimit::class,
'category' => \FireflyIII\Models\Category::class,
'linkType' => \FireflyIII\Models\LinkType::class,
'transaction_type' => \FireflyIII\Models\TransactionType::class,
'transactionType' => \FireflyIII\Models\TransactionType::class,
'journalLink' => \FireflyIII\Models\TransactionJournalLink::class,
'currency' => \FireflyIII\Models\TransactionCurrency::class,
'budgetlimit' => \FireflyIII\Models\BudgetLimit::class,
'piggyBank' => \FireflyIII\Models\PiggyBank::class,
'tj' => \FireflyIII\Models\TransactionJournal::class,
'tag' => \FireflyIII\Models\Tag::class,
@ -166,20 +166,29 @@ return [
'ruleGroup' => \FireflyIII\Models\RuleGroup::class,
'exportJob' => \FireflyIII\Models\ExportJob::class,
'importJob' => \FireflyIII\Models\ImportJob::class,
'user' => \FireflyIII\User::class,
// binders
'fromCurrencyCode' => \FireflyIII\Support\Binder\CurrencyCode::class,
'toCurrencyCode' => \FireflyIII\Support\Binder\CurrencyCode::class,
'unfinishedJournal' => \FireflyIII\Support\Binder\UnfinishedJournal::class,
// strings
// dates
'start_date' => \FireflyIII\Support\Binder\Date::class,
'end_date' => \FireflyIII\Support\Binder\Date::class,
'date' => \FireflyIII\Support\Binder\Date::class,
// lists
'accountList' => \FireflyIII\Support\Binder\AccountList::class,
'expenseList' => \FireflyIII\Support\Binder\AccountList::class,
'budgetList' => \FireflyIII\Support\Binder\BudgetList::class,
'journalList' => \FireflyIII\Support\Binder\JournalList::class,
'categoryList' => \FireflyIII\Support\Binder\CategoryList::class,
'tagList' => \FireflyIII\Support\Binder\TagList::class,
'start_date' => \FireflyIII\Support\Binder\Date::class,
'end_date' => \FireflyIII\Support\Binder\Date::class,
'date' => \FireflyIII\Support\Binder\Date::class,
// others
'fromCurrencyCode' => \FireflyIII\Support\Binder\CurrencyCode::class,
'toCurrencyCode' => \FireflyIII\Support\Binder\CurrencyCode::class,
'unfinishedJournal' => \FireflyIII\Support\Binder\UnfinishedJournal::class,
],
'rule-triggers' => [
'user_action' => 'FireflyIII\TransactionRules\Triggers\UserAction',

View File

@ -170,7 +170,7 @@ Route::group(
Route::get('edit/{budget}', ['uses' => 'BudgetController@edit', 'as' => 'edit']);
Route::get('delete/{budget}', ['uses' => 'BudgetController@delete', 'as' => 'delete']);
Route::get('show/{budget}', ['uses' => 'BudgetController@show', 'as' => 'show']);
Route::get('show/{budget}/{budgetlimit}', ['uses' => 'BudgetController@showByBudgetLimit', 'as' => 'show.limit']);
Route::get('show/{budget}/{budgetLimit}', ['uses' => 'BudgetController@showByBudgetLimit', 'as' => 'show.limit']);
Route::get('list/no-budget/{moment?}', ['uses' => 'BudgetController@noBudget', 'as' => 'no-budget']);
Route::get('{moment?}', ['uses' => 'BudgetController@index', 'as' => 'index']);
@ -279,13 +279,13 @@ Route::group(
Route::get('frontpage', ['uses' => 'BudgetController@frontpage', 'as' => 'frontpage']);
Route::get('period/0/{accountList}/{start_date}/{end_date}', ['uses' => 'BudgetController@periodNoBudget', 'as' => 'period.no-budget']);
Route::get('period/{budget}/{accountList}/{start_date}/{end_date}', ['uses' => 'BudgetController@period', 'as' => 'period']);
Route::get('budget/{budget}/{budgetlimit}', ['uses' => 'BudgetController@budgetLimit', 'as' => 'budget-limit']);
Route::get('budget/{budget}/{budgetLimit}', ['uses' => 'BudgetController@budgetLimit', 'as' => 'budget-limit']);
Route::get('budget/{budget}', ['uses' => 'BudgetController@budget', 'as' => 'budget']);
// these charts are used in budget/show:
Route::get('expense-category/{budget}/{budgetlimit?}', ['uses' => 'BudgetController@expenseCategory', 'as' => 'expense-category']);
Route::get('expense-asset/{budget}/{budgetlimit?}', ['uses' => 'BudgetController@expenseAsset', 'as' => 'expense-asset']);
Route::get('expense-expense/{budget}/{budgetlimit?}', ['uses' => 'BudgetController@expenseExpense', 'as' => 'expense-expense']);
Route::get('expense-category/{budget}/{budgetLimit?}', ['uses' => 'BudgetController@expenseCategory', 'as' => 'expense-category']);
Route::get('expense-asset/{budget}/{budgetLimit?}', ['uses' => 'BudgetController@expenseAsset', 'as' => 'expense-asset']);
Route::get('expense-expense/{budget}/{budgetLimit?}', ['uses' => 'BudgetController@expenseExpense', 'as' => 'expense-expense']);
// these charts are used in reports (category reports):
Route::get(
@ -817,8 +817,8 @@ Route::group(
*/
Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'Transaction', 'prefix' => 'transactions/convert', 'as' => 'transactions.convert.'], function () {
Route::get('{transaction_type}/{tj}', ['uses' => 'ConvertController@index', 'as' => 'index']);
Route::post('{transaction_type}/{tj}', ['uses' => 'ConvertController@postIndex', 'as' => 'index.post']);
Route::get('{transactionType}/{tj}', ['uses' => 'ConvertController@index', 'as' => 'index']);
Route::post('{transactionType}/{tj}', ['uses' => 'ConvertController@postIndex', 'as' => 'index.post']);
}
);