From 6f98fc0dffed2f9d77b3e3858854ca018de72913 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 13 Mar 2020 21:15:54 +0100 Subject: [PATCH] First attempt at form. --- .../Controllers/Budget/CreateController.php | 26 ++++++++++++++++++- resources/views/v1/budgets/create.twig | 16 +++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Budget/CreateController.php b/app/Http/Controllers/Budget/CreateController.php index 6418b8251f..8230eb333f 100644 --- a/app/Http/Controllers/Budget/CreateController.php +++ b/app/Http/Controllers/Budget/CreateController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Budget; +use FireflyIII\AutoBudget; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Requests\BudgetFormRequest; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; @@ -68,6 +69,29 @@ class CreateController extends Controller */ public function create(Request $request) { + $hasOldInput = null !== $request->old('_token'); + + // auto budget options + $autoBudgetOptions = [ + 0 => (string)trans('firefly.auto_budget_none'), + AutoBudget::AUTO_BUDGET_RESET => (string)trans('firefly.auto_budget_reset'), + AutoBudget::AUTO_BUDGET_ROLLOVER => (string)trans('firefly.auto_budget_rollover'), + ]; + $autoBudgetPeriods = [ + 'daily' => (string)trans('firefly.auto_budget_period_daily'), + 'weekly' => (string)trans('firefly.auto_budget_period_weekly'), + 'monthly' => (string)trans('firefly.auto_budget_period_monthly'), + 'quarterly' => (string)trans('firefly.auto_budget_period_quarterly'), + 'half_year' => (string)trans('firefly.auto_budget_period_half_year'), + 'yearly' => (string)trans('firefly.auto_budget_period_yearly'), + ]; + + $preFilled = [ + 'auto_budget_period' => $hasOldInput ? (bool)$request->old('auto_budget_period') : 'monthly', + ]; + + $request->session()->flash('preFilled', $preFilled); + // put previous url in session if not redirect from store (not "create another"). if (true !== session('budgets.create.fromStore')) { $this->rememberPreviousUri('budgets.create.uri'); @@ -75,7 +99,7 @@ class CreateController extends Controller $request->session()->forget('budgets.create.fromStore'); $subTitle = (string)trans('firefly.create_new_budget'); - return view('budgets.create', compact('subTitle')); + return view('budgets.create', compact('subTitle', 'autoBudgetOptions', 'autoBudgetPeriods')); } diff --git a/resources/views/v1/budgets/create.twig b/resources/views/v1/budgets/create.twig index efb803bcbf..7b78db5cdb 100644 --- a/resources/views/v1/budgets/create.twig +++ b/resources/views/v1/budgets/create.twig @@ -23,7 +23,21 @@
{# panel for auto-budget#} - abc +
+
+

{{ 'optionalFields'|_ }}

+
+
+ {{ ExpandedForm.select('auto_budget_option', autoBudgetOptions) }} + {{ CurrencyForm.currencyList('transaction_currency_id') }} + {{ ExpandedForm.amountNoCurrency('auto_budget_amount') }} + {{ ExpandedForm.select('auto_budget_period', autoBudgetPeriods, null) }} +
+ +
+