From 7c8a2e359182aaa32351e76b9d12feda86825e1b Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 17 Jan 2023 05:54:30 +0100 Subject: [PATCH] Add regular expressions to routes. --- routes/web.php | 334 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 236 insertions(+), 98 deletions(-) diff --git a/routes/web.php b/routes/web.php index 85e4e0e8dc..c5719d9c2d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -21,6 +21,8 @@ declare(strict_types=1); +const DATEFORMAT = DATEFORMAT; + Route::group( ['namespace' => 'FireflyIII\Http\Controllers\System', 'as' => 'installer.', 'prefix' => 'install',], @@ -153,18 +155,33 @@ Route::group( // show Route::get('show/{account}/all', ['uses' => 'Account\ShowController@showAll', 'as' => 'show.all']); - Route::get('show/{account}/{start_date?}/{end_date?}', ['uses' => 'Account\ShowController@show', 'as' => 'show']); + Route::get('show/{account}/{start_date?}/{end_date?}', ['uses' => 'Account\ShowController@show', 'as' => 'show']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; // reconcile routes: - Route::get('reconcile/{account}/index/{start_date?}/{end_date?}', ['uses' => 'Account\ReconcileController@reconcile', 'as' => 'reconcile']); - Route::post('reconcile/{account}/submit/{start_date?}/{end_date?}', ['uses' => 'Account\ReconcileController@submit', 'as' => 'reconcile.submit']); + Route::get('reconcile/{account}/index/{start_date?}/{end_date?}', ['uses' => 'Account\ReconcileController@reconcile', 'as' => 'reconcile']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; + Route::post('reconcile/{account}/submit/{start_date?}/{end_date?}', ['uses' => 'Account\ReconcileController@submit', 'as' => 'reconcile.submit']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; // reconcile JSON routes - Route::get('reconcile/{account}/overview/{start_date?}/{end_date?}', ['uses' => 'Json\ReconcileController@overview', 'as' => 'reconcile.overview']); + Route::get('reconcile/{account}/overview/{start_date?}/{end_date?}', ['uses' => 'Json\ReconcileController@overview', 'as' => 'reconcile.overview']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; Route::get( 'reconcile/{account}/transactions/{start_date?}/{end_date?}', ['uses' => 'Json\ReconcileController@transactions', 'as' => 'reconcile.transactions'] - ); + ) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; } ); @@ -246,13 +263,19 @@ Route::group( Route::get('show/{budget}', ['uses' => 'Budget\ShowController@show', 'as' => 'show']); Route::get('show/{budget}/{budgetLimit}', ['uses' => 'Budget\ShowController@showByBudgetLimit', 'as' => 'show.limit']); Route::get('list/no-budget/all', ['uses' => 'Budget\ShowController@noBudgetAll', 'as' => 'no-budget-all']); - Route::get('list/no-budget/{start_date?}/{end_date?}', ['uses' => 'Budget\ShowController@noBudget', 'as' => 'no-budget']); + Route::get('list/no-budget/{start_date?}/{end_date?}', ['uses' => 'Budget\ShowController@noBudget', 'as' => 'no-budget']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; // reorder budgets Route::post('reorder', ['uses' => 'Budget\IndexController@reorder', 'as' => 'reorder']); // index - Route::get('{start_date?}/{end_date?}', ['uses' => 'Budget\IndexController@index', 'as' => 'index']); + Route::get('{start_date?}/{end_date?}', ['uses' => 'Budget\IndexController@index', 'as' => 'index']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; } ); @@ -262,7 +285,10 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'budget-limits', 'as' => 'budget-limits.'], static function () { - Route::get('create/{budget}/{start_date}/{end_date}', ['uses' => 'Budget\BudgetLimitController@create', 'as' => 'create']); + Route::get('create/{budget}/{start_date}/{end_date}', ['uses' => 'Budget\BudgetLimitController@create', 'as' => 'create']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; Route::post('store', ['uses' => 'Budget\BudgetLimitController@store', 'as' => 'store']); Route::post('delete/{budgetLimit}', ['uses' => 'Budget\BudgetLimitController@delete', 'as' => 'delete']); @@ -294,11 +320,17 @@ Route::group( // show category: Route::get('show/{category}/all', ['uses' => 'Category\ShowController@showAll', 'as' => 'show.all']); - Route::get('show/{category}/{start_date?}/{end_date?}', ['uses' => 'Category\ShowController@show', 'as' => 'show']); + Route::get('show/{category}/{start_date?}/{end_date?}', ['uses' => 'Category\ShowController@show', 'as' => 'show']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; // no category controller: Route::get('list/no-category/all', ['uses' => 'Category\NoCategoryController@showAll', 'as' => 'no-category.all']); - Route::get('list/no-category/{start_date?}/{end_date?}', ['uses' => 'Category\NoCategoryController@show', 'as' => 'no-category']); + Route::get('list/no-category/{start_date?}/{end_date?}', ['uses' => 'Category\NoCategoryController@show', 'as' => 'no-category']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; } ); @@ -331,16 +363,31 @@ Route::group( Route::get('frontpage', ['uses' => 'AccountController@frontpage', 'as' => 'frontpage']); Route::get('expense', ['uses' => 'AccountController@expenseAccounts', 'as' => 'expense']); Route::get('revenue', ['uses' => 'AccountController@revenueAccounts', 'as' => 'revenue']); - Route::get('report/{accountList}/{start_date}/{end_date}', ['uses' => 'AccountController@report', 'as' => 'report']); - Route::get('period/{account}/{start_date}/{end_date}', ['uses' => 'AccountController@period', 'as' => 'period']); + Route::get('report/{accountList}/{start_date}/{end_date}', ['uses' => 'AccountController@report', 'as' => 'report']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; + Route::get('period/{account}/{start_date}/{end_date}', ['uses' => 'AccountController@period', 'as' => 'period']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; Route::get('income-category/{account}/all/all', ['uses' => 'AccountController@incomeCategoryAll', 'as' => 'income-category-all']); Route::get('expense-category/{account}/all/all', ['uses' => 'AccountController@expenseCategoryAll', 'as' => 'expense-category-all']); Route::get('expense-budget/{account}/all/all', ['uses' => 'AccountController@expenseBudgetAll', 'as' => 'expense-budget-all']); - Route::get('income-category/{account}/{start_date}/{end_date}', ['uses' => 'AccountController@incomeCategory', 'as' => 'income-category']); - Route::get('expense-category/{account}/{start_date}/{end_date}', ['uses' => 'AccountController@expenseCategory', 'as' => 'expense-category']); - Route::get('expense-budget/{account}/{start_date}/{end_date}', ['uses' => 'AccountController@expenseBudget', 'as' => 'expense-budget']); + Route::get('income-category/{account}/{start_date}/{end_date}', ['uses' => 'AccountController@incomeCategory', 'as' => 'income-category']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; + Route::get('expense-category/{account}/{start_date}/{end_date}', ['uses' => 'AccountController@expenseCategory', 'as' => 'expense-category']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; + Route::get('expense-budget/{account}/{start_date}/{end_date}', ['uses' => 'AccountController@expenseBudget', 'as' => 'expense-budget']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; } ); @@ -362,8 +409,14 @@ Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Chart', 'prefix' => 'chart/budget', 'as' => 'chart.budget.'], static function () { Route::get('frontpage', ['uses' => 'BudgetController@frontpage', 'as' => 'frontpage']); - Route::get('period/0/{currency}/{accountList}/{start_date}/{end_date}', ['uses' => 'BudgetController@periodNoBudget', 'as' => 'period.no-budget']); - Route::get('period/{budget}/{currency}/{accountList}/{start_date}/{end_date}', ['uses' => 'BudgetController@period', 'as' => 'period']); + Route::get('period/0/{currency}/{accountList}/{start_date}/{end_date}', ['uses' => 'BudgetController@periodNoBudget', 'as' => 'period.no-budget']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; + Route::get('period/{budget}/{currency}/{accountList}/{start_date}/{end_date}', ['uses' => 'BudgetController@period', 'as' => 'period']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; Route::get('budget/{budget}/{budgetLimit}', ['uses' => 'BudgetController@budgetLimit', 'as' => 'budget-limit']); Route::get('budget/{budget}', ['uses' => 'BudgetController@budget', 'as' => 'budget']); @@ -376,19 +429,25 @@ Route::group( Route::get( 'category/expense/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetReportController@categoryExpense', 'as' => 'category-expense'] - ); + ) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; Route::get( 'budget/expense/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetReportController@budgetExpense', 'as' => 'budget-expense'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'source-account/expense/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetReportController@sourceAccountExpense', 'as' => 'source-account-expense'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'destination-account/expense/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetReportController@destinationAccountExpense', 'as' => 'destination-account-expense'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get('operations/{accountList}/{budget}/{start_date}/{end_date}', ['uses' => 'BudgetReportController@mainChart', 'as' => 'main']); } ); @@ -406,38 +465,48 @@ Route::group( Route::get( 'report-period/0/{accountList}/{start_date}/{end_date}', ['uses' => 'CategoryController@reportPeriodNoCategory', 'as' => 'period.no-category'] - ); - Route::get('report-period/{category}/{accountList}/{start_date}/{end_date}', ['uses' => 'CategoryController@reportPeriod', 'as' => 'period']); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('report-period/{category}/{accountList}/{start_date}/{end_date}', ['uses' => 'CategoryController@reportPeriod', 'as' => 'period'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'category/expense/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryReportController@categoryExpense', 'as' => 'category-expense'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'category/income/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryReportController@categoryIncome', 'as' => 'category-income'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'budget/expense/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryReportController@budgetExpense', 'as' => 'budget-expense'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'source/expense/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryReportController@sourceExpense', 'as' => 'source-expense'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'source/income/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryReportController@sourceIncome', 'as' => 'source-income'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'dest/expense/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryReportController@destinationExpense', 'as' => 'dest-expense'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'dest/income/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryReportController@destinationIncome', 'as' => 'dest-income'] - ); - Route::get('operations/{accountList}/{category}/{start_date}/{end_date}', ['uses' => 'CategoryReportController@mainChart', 'as' => 'main']); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('operations/{accountList}/{category}/{start_date}/{end_date}', ['uses' => 'CategoryReportController@mainChart', 'as' => 'main'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -447,20 +516,32 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Chart', 'prefix' => 'chart/tag', 'as' => 'chart.tag.'], static function () { - Route::get('tag/expense/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@tagExpense', 'as' => 'tag-expense']); - Route::get('tag/income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@tagIncome', 'as' => 'tag-income']); + Route::get('tag/expense/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@tagExpense', 'as' => 'tag-expense']) + ->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]) + ; + Route::get('tag/income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@tagIncome', 'as' => 'tag-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'category/expense/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@categoryExpense', 'as' => 'category-expense'] - ); - Route::get('category/income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@categoryIncome', 'as' => 'category-income']); - Route::get('budget/expense/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@budgetExpense', 'as' => 'budget-expense']); - Route::get('source/expense/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@sourceExpense', 'as' => 'source-expense']); - Route::get('source/income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@sourceIncome', 'as' => 'source-income']); - Route::get('dest/expense/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@destinationExpense', 'as' => 'dest-expense']); - Route::get('dest/income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@destinationIncome', 'as' => 'dest-income']); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('category/income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@categoryIncome', 'as' => 'category-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('budget/expense/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@budgetExpense', 'as' => 'budget-expense'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('source/expense/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@sourceExpense', 'as' => 'source-expense'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('source/income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@sourceIncome', 'as' => 'source-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('dest/expense/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@destinationExpense', 'as' => 'dest-expense'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('dest/income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagReportController@destinationIncome', 'as' => 'dest-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('operations/{accountList}/{tag}/{start_date}/{end_date}', ['uses' => 'TagReportController@mainChart', 'as' => 'main']); + Route::get('operations/{accountList}/{tag}/{start_date}/{end_date}', ['uses' => 'TagReportController@mainChart', 'as' => 'main'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -470,23 +551,29 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Chart', 'prefix' => 'chart/double', 'as' => 'chart.double.'], static function () { - Route::get('main/{accountList}/{account}/{start_date}/{end_date}', ['uses' => 'DoubleReportController@mainChart', 'as' => 'main']); + Route::get('main/{accountList}/{account}/{start_date}/{end_date}', ['uses' => 'DoubleReportController@mainChart', 'as' => 'main'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'category/expense/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleReportController@categoryExpense', 'as' => 'category-expense'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'category/income/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleReportController@categoryIncome', 'as' => 'category-income'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'budget/expense/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleReportController@budgetExpense', 'as' => 'budget-expense'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('tag/expense/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleReportController@tagExpense', 'as' => 'tag-expense']); - Route::get('tag/income/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleReportController@tagIncome', 'as' => 'tag-income']); + Route::get('tag/expense/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleReportController@tagExpense', 'as' => 'tag-expense'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('tag/income/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleReportController@tagIncome', 'as' => 'tag-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -506,8 +593,10 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Chart', 'prefix' => 'chart/report', 'as' => 'chart.report.'], static function () { - Route::get('operations/{accountList}/{start_date}/{end_date}', ['uses' => 'ReportController@operations', 'as' => 'operations']); - Route::get('net-worth/{accountList}/{start_date}/{end_date}/', ['uses' => 'ReportController@netWorth', 'as' => 'net-worth']); + Route::get('operations/{accountList}/{start_date}/{end_date}', ['uses' => 'ReportController@operations', 'as' => 'operations'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('net-worth/{accountList}/{start_date}/{end_date}/', ['uses' => 'ReportController@netWorth', 'as' => 'net-worth'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -517,13 +606,17 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Chart', 'prefix' => 'chart/transactions', 'as' => 'chart.transactions.'], static function () { - Route::get('categories/{objectType}/{start_date}/{end_date}', ['uses' => 'TransactionController@categories', 'as' => 'categories']); - Route::get('budgets/{start_date}/{end_date}', ['uses' => 'TransactionController@budgets', 'as' => 'budgets']); + Route::get('categories/{objectType}/{start_date}/{end_date}', ['uses' => 'TransactionController@categories', 'as' => 'categories'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('budgets/{start_date}/{end_date}', ['uses' => 'TransactionController@budgets', 'as' => 'budgets'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'destinationAccounts/{objectType}/{start_date}/{end_date}', ['uses' => 'TransactionController@destinationAccounts', 'as' => 'destinationAccounts'] - ); - Route::get('sourceAccounts/{objectType}/{start_date}/{end_date}', ['uses' => 'TransactionController@sourceAccounts', 'as' => 'sourceAccounts']); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('sourceAccounts/{objectType}/{start_date}/{end_date}', ['uses' => 'TransactionController@sourceAccounts', 'as' => 'sourceAccounts'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); // } ); @@ -591,7 +684,8 @@ Route::group( Route::get( 'budget/total-budgeted/{currency}/{start_date}/{end_date}', ['uses' => 'Json\BudgetController@getBudgetInformation', 'as' => 'budget.total-budgeted'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); // boxes Route::get('box/balance', ['uses' => 'Json\BoxController@balance', 'as' => 'box.balance']); Route::get('box/available', ['uses' => 'Json\BoxController@available', 'as' => 'box.available']); @@ -723,12 +817,18 @@ Route::group( static function () { Route::get('', ['uses' => 'ReportController@index', 'as' => 'index']); Route::get('options/{reportType}', ['uses' => 'ReportController@options', 'as' => 'options']); - Route::get('default/{accountList}/{start_date}/{end_date}', ['uses' => 'ReportController@defaultReport', 'as' => 'report.default']); - Route::get('audit/{accountList}/{start_date}/{end_date}', ['uses' => 'ReportController@auditReport', 'as' => 'report.audit']); - Route::get('category/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'ReportController@categoryReport', 'as' => 'report.category']); - Route::get('budget/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'ReportController@budgetReport', 'as' => 'report.budget']); - Route::get('tag/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'ReportController@tagReport', 'as' => 'report.tag']); - Route::get('double/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'ReportController@doubleReport', 'as' => 'report.double']); + Route::get('default/{accountList}/{start_date}/{end_date}', ['uses' => 'ReportController@defaultReport', 'as' => 'report.default'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('audit/{accountList}/{start_date}/{end_date}', ['uses' => 'ReportController@auditReport', 'as' => 'report.audit'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('category/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'ReportController@categoryReport', 'as' => 'report.category'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('budget/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'ReportController@budgetReport', 'as' => 'report.budget'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('tag/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'ReportController@tagReport', 'as' => 'report.tag'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('double/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'ReportController@doubleReport', 'as' => 'report.double'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::post('', ['uses' => 'ReportController@postIndex', 'as' => 'index.post']); } @@ -740,7 +840,8 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Report', 'prefix' => 'report-data/account', 'as' => 'report-data.account.'], static function () { - Route::get('general/{accountList}/{start_date}/{end_date}', ['uses' => 'AccountController@general', 'as' => 'general']); + Route::get('general/{accountList}/{start_date}/{end_date}', ['uses' => 'AccountController@general', 'as' => 'general'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -750,7 +851,8 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Report', 'prefix' => 'report-data/bill', 'as' => 'report-data.bills.'], static function () { - Route::get('overview/{accountList}/{start_date}/{end_date}', ['uses' => 'BillController@overview', 'as' => 'overview']); + Route::get('overview/{accountList}/{start_date}/{end_date}', ['uses' => 'BillController@overview', 'as' => 'overview'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -761,14 +863,20 @@ Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Report', 'prefix' => 'report-data/double', 'as' => 'report-data.double.'], static function () { // spent + earned per combination. - Route::get('operations/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@operations', 'as' => 'operations']); - Route::get('ops-asset/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@operationsPerAsset', 'as' => 'ops-asset']); + Route::get('operations/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@operations', 'as' => 'operations'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('ops-asset/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@operationsPerAsset', 'as' => 'ops-asset'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('top-expenses/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@topExpenses', 'as' => 'top-expenses']); - Route::get('avg-expenses/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@avgExpenses', 'as' => 'avg-expenses']); + Route::get('top-expenses/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@topExpenses', 'as' => 'top-expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('avg-expenses/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@avgExpenses', 'as' => 'avg-expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('top-income/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@topIncome', 'as' => 'top-income']); - Route::get('avg-income/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@avgIncome', 'as' => 'avg-income']); + Route::get('top-income/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@topIncome', 'as' => 'top-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('avg-income/{accountList}/{doubleList}/{start_date}/{end_date}', ['uses' => 'DoubleController@avgIncome', 'as' => 'avg-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -779,9 +887,12 @@ Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Report', 'prefix' => 'report-data/operations', 'as' => 'report-data.operations.',], static function () { - Route::get('operations/{accountList}/{start_date}/{end_date}', ['uses' => 'OperationsController@operations', 'as' => 'operations']); - Route::get('income/{accountList}/{start_date}/{end_date}', ['uses' => 'OperationsController@income', 'as' => 'income']); - Route::get('expenses/{accountList}/{start_date}/{end_date}', ['uses' => 'OperationsController@expenses', 'as' => 'expenses']); + Route::get('operations/{accountList}/{start_date}/{end_date}', ['uses' => 'OperationsController@operations', 'as' => 'operations'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('income/{accountList}/{start_date}/{end_date}', ['uses' => 'OperationsController@income', 'as' => 'income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('expenses/{accountList}/{start_date}/{end_date}', ['uses' => 'OperationsController@expenses', 'as' => 'expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -793,22 +904,32 @@ Route::group( 'as' => 'report-data.category.',], static function () { // TODO three routes still in use? - Route::get('operations/{accountList}/{start_date}/{end_date}', ['uses' => 'CategoryController@operations', 'as' => 'operations']); - Route::get('income/{accountList}/{start_date}/{end_date}', ['uses' => 'CategoryController@income', 'as' => 'income']); - Route::get('expenses/{accountList}/{start_date}/{end_date}', ['uses' => 'CategoryController@expenses', 'as' => 'expenses']); + Route::get('operations/{accountList}/{start_date}/{end_date}', ['uses' => 'CategoryController@operations', 'as' => 'operations'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('income/{accountList}/{start_date}/{end_date}', ['uses' => 'CategoryController@income', 'as' => 'income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('expenses/{accountList}/{start_date}/{end_date}', ['uses' => 'CategoryController@expenses', 'as' => 'expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('accounts/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@accounts', 'as' => 'accounts']); - Route::get('categories/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@categories', 'as' => 'categories']); + Route::get('accounts/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@accounts', 'as' => 'accounts'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('categories/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@categories', 'as' => 'categories'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'account-per-category/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@accountPerCategory', 'as' => 'account-per-category'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('top-expenses/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@topExpenses', 'as' => 'top-expenses']); - Route::get('avg-expenses/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@avgExpenses', 'as' => 'avg-expenses']); + Route::get('top-expenses/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@topExpenses', 'as' => 'top-expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('avg-expenses/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@avgExpenses', 'as' => 'avg-expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('top-income/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@topIncome', 'as' => 'top-income']); - Route::get('avg-income/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@avgIncome', 'as' => 'avg-income']); + Route::get('top-income/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@topIncome', 'as' => 'top-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('avg-income/{accountList}/{categoryList}/{start_date}/{end_date}', ['uses' => 'CategoryController@avgIncome', 'as' => 'avg-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -819,15 +940,22 @@ Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Report', 'prefix' => 'report-data/tag', 'as' => 'report-data.tag.',], static function () { - Route::get('accounts/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@accounts', 'as' => 'accounts']); - Route::get('tags/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@tags', 'as' => 'tags']); - Route::get('account-per-tag/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@accountPerTag', 'as' => 'account-per-tag']); + Route::get('accounts/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@accounts', 'as' => 'accounts'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('tags/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@tags', 'as' => 'tags'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('account-per-tag/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@accountPerTag', 'as' => 'account-per-tag'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('top-expenses/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@topExpenses', 'as' => 'top-expenses']); - Route::get('avg-expenses/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@avgExpenses', 'as' => 'avg-expenses']); + Route::get('top-expenses/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@topExpenses', 'as' => 'top-expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('avg-expenses/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@avgExpenses', 'as' => 'avg-expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('top-income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@topIncome', 'as' => 'top-income']); - Route::get('avg-income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@avgIncome', 'as' => 'avg-income']); + Route::get('top-income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@topIncome', 'as' => 'top-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('avg-income/{accountList}/{tagList}/{start_date}/{end_date}', ['uses' => 'TagController@avgIncome', 'as' => 'avg-income'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -837,7 +965,8 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Report', 'prefix' => 'report-data/balance', 'as' => 'report-data.balance.'], static function () { - Route::get('general/{accountList}/{start_date}/{end_date}', ['uses' => 'BalanceController@general', 'as' => 'general']); + Route::get('general/{accountList}/{start_date}/{end_date}', ['uses' => 'BalanceController@general', 'as' => 'general'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -847,18 +976,25 @@ Route::group( Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Report', 'prefix' => 'report-data/budget', 'as' => 'report-data.budget.'], static function () { - Route::get('general/{accountList}/{start_date}/{end_date}/', ['uses' => 'BudgetController@general', 'as' => 'general']); + Route::get('general/{accountList}/{start_date}/{end_date}/', ['uses' => 'BudgetController@general', 'as' => 'general'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); // TODO is route still used? - Route::get('period/{accountList}/{start_date}/{end_date}', ['uses' => 'BudgetController@period', 'as' => 'period']); + Route::get('period/{accountList}/{start_date}/{end_date}', ['uses' => 'BudgetController@period', 'as' => 'period'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); - Route::get('accounts/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetController@accounts', 'as' => 'accounts']); - Route::get('budgets/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetController@budgets', 'as' => 'budgets']); + Route::get('accounts/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetController@accounts', 'as' => 'accounts'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('budgets/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetController@budgets', 'as' => 'budgets'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get( 'account-per-budget/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetController@accountPerBudget', 'as' => 'account-per-budget'] - ); - Route::get('top-expenses/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetController@topExpenses', 'as' => 'top-expenses']); - Route::get('avg-expenses/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetController@avgExpenses', 'as' => 'avg-expenses']); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('top-expenses/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetController@topExpenses', 'as' => 'top-expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); + Route::get('avg-expenses/{accountList}/{budgetList}/{start_date}/{end_date}', ['uses' => 'BudgetController@avgExpenses', 'as' => 'avg-expenses'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); } ); @@ -938,7 +1074,8 @@ Route::group( Route::get('create', ['uses' => 'TagController@create', 'as' => 'create']); Route::get('show/{tagOrId}/all', ['uses' => 'TagController@showAll', 'as' => 'show.all']); - Route::get('show/{tagOrId}/{start_date?}/{end_date?}', ['uses' => 'TagController@show', 'as' => 'show']); + Route::get('show/{tagOrId}/{start_date?}/{end_date?}', ['uses' => 'TagController@show', 'as' => 'show'])->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); Route::get('edit/{tag}', ['uses' => 'TagController@edit', 'as' => 'edit']); Route::get('delete/{tag}', ['uses' => 'TagController@delete', 'as' => 'delete']); @@ -964,7 +1101,8 @@ Route::group( Route::get('{what}/{start_date?}/{end_date?}', ['uses' => 'Transaction\IndexController@index', 'as' => 'index'])->where( ['what' => 'withdrawal|deposit|transfers|transfer'] - ); + )->where(['start_date' => DATEFORMAT]) + ->where(['end_date' => DATEFORMAT]); // create group: Route::get('create/{objectType}', ['uses' => 'Transaction\CreateController@create', 'as' => 'create']);