From 71b63bd33bbe1d877c52923a9e058fa01f65121a Mon Sep 17 00:00:00 2001
From: James Cole
Date: Sun, 29 Apr 2018 09:48:53 +0200
Subject: [PATCH] Remove references to ExpandedForm.
---
app/Http/Controllers/RuleGroupController.php | 22 +++++-------
app/Support/ExpandedForm.php | 36 ++++++++++++++++++--
config/twigbridge.php | 2 +-
resources/lang/en_US/firefly.php | 1 +
resources/views/rules/rule-group/delete.twig | 2 +-
5 files changed, 44 insertions(+), 19 deletions(-)
diff --git a/app/Http/Controllers/RuleGroupController.php b/app/Http/Controllers/RuleGroupController.php
index 8aa82f72f7..3c65632544 100644
--- a/app/Http/Controllers/RuleGroupController.php
+++ b/app/Http/Controllers/RuleGroupController.php
@@ -23,11 +23,9 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers;
use Carbon\Carbon;
-use ExpandedForm;
use FireflyIII\Http\Requests\RuleGroupFormRequest;
use FireflyIII\Http\Requests\SelectTransactionsRequest;
use FireflyIII\Jobs\ExecuteRuleGroupOnExistingTransactions;
-use FireflyIII\Models\AccountType;
use FireflyIII\Models\RuleGroup;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface;
@@ -75,22 +73,18 @@ class RuleGroupController extends Controller
}
/**
- * @param RuleGroupRepositoryInterface $repository
- * @param RuleGroup $ruleGroup
+ * @param RuleGroup $ruleGroup
*
* @return View
*/
- public function delete(RuleGroupRepositoryInterface $repository, RuleGroup $ruleGroup)
+ public function delete(RuleGroup $ruleGroup)
{
$subTitle = trans('firefly.delete_rule_group', ['title' => $ruleGroup->title]);
- $ruleGroupList = ExpandedForm::makeSelectListWithEmpty($repository->get());
- unset($ruleGroupList[$ruleGroup->id]);
-
// put previous url in session
$this->rememberPreviousUri('rule-groups.delete.uri');
- return view('rules.rule-group.delete', compact('ruleGroup', 'subTitle', 'ruleGroupList'));
+ return view('rules.rule-group.delete', compact('ruleGroup', 'subTitle'));
}
/**
@@ -179,17 +173,17 @@ class RuleGroupController extends Controller
}
/**
- * @param RuleGroup $ruleGroup
+ * @param RuleGroup $ruleGroup
*
* @return View
*/
public function selectTransactions(RuleGroup $ruleGroup)
{
- $first = session('first')->format('Y-m-d');
- $today = Carbon::create()->format('Y-m-d');
- $subTitle = (string)trans('firefly.apply_rule_group_selection', ['title' => $ruleGroup->title]);
+ $first = session('first')->format('Y-m-d');
+ $today = Carbon::create()->format('Y-m-d');
+ $subTitle = (string)trans('firefly.apply_rule_group_selection', ['title' => $ruleGroup->title]);
- return view('rules.rule-group.select-transactions', compact( 'first', 'today', 'ruleGroup', 'subTitle'));
+ return view('rules.rule-group.select-transactions', compact('first', 'today', 'ruleGroup', 'subTitle'));
}
/**
diff --git a/app/Support/ExpandedForm.php b/app/Support/ExpandedForm.php
index 899b93e8b9..c40e574e5a 100644
--- a/app/Support/ExpandedForm.php
+++ b/app/Support/ExpandedForm.php
@@ -32,6 +32,7 @@ use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface;
+use Form;
use Illuminate\Support\Collection;
use Illuminate\Support\MessageBag;
use RuntimeException;
@@ -49,6 +50,7 @@ class ExpandedForm
*
* @return string
* @throws \FireflyIII\Exceptions\FireflyException
+ * @throws \Throwable
*/
public function amount(string $name, $value = null, array $options = []): string
{
@@ -128,7 +130,7 @@ class ExpandedForm
}
unset($options['class']);
- $html = view('form.assetAccountCheckList', compact('classes','selected', 'name', 'label', 'options', 'grouped'))->render();
+ $html = view('form.assetAccountCheckList', compact('classes', 'selected', 'name', 'label', 'options', 'grouped'))->render();
return $html;
}
@@ -545,9 +547,37 @@ class ExpandedForm
foreach ($list as $group) {
$array[$group->id] = $group->title;
}
- $res = $this->select($name, $array, $value, $options);
- return $res;
+ return $this->select($name, $array, $value, $options);
+ }
+
+ /**
+ * @param string $name
+ * @param null $value
+ * @param null $options
+ *
+ * @return \Illuminate\Support\HtmlString
+ */
+ public function ruleGroupListWithEmpty(string $name, $value = null, $options = null)
+ {
+ $options = $options ?? [];
+ $options['class'] = 'form-control';
+ /** @var RuleGroupRepositoryInterface $groupRepos */
+ $groupRepos = app(RuleGroupRepositoryInterface::class);
+
+ // get all currencies:
+ $list = $groupRepos->get();
+ $array = [
+ 0 => trans('firefly.none_in_select_list'),
+ ];
+ /** @var RuleGroup $group */
+ foreach ($list as $group) {
+ if (isset($options['hidden']) && (int)$options['hidden'] !== $group->id) {
+ $array[$group->id] = $group->title;
+ }
+ }
+
+ return Form::select($name, $array, $value, $options);
}
/**
diff --git a/config/twigbridge.php b/config/twigbridge.php
index 2e2b1d98c7..46aa7f0f50 100644
--- a/config/twigbridge.php
+++ b/config/twigbridge.php
@@ -188,7 +188,7 @@ return [
'is_safe' => [
'date', 'text', 'select', 'balance', 'optionsList', 'checkbox', 'amount', 'tags', 'integer', 'textarea', 'location',
'multiRadio', 'file', 'multiCheckbox', 'staticText', 'amountSmall', 'password', 'nonSelectableBalance', 'nonSelectableAmount',
- 'number', 'assetAccountList','amountNoCurrency','currencyList','ruleGroupList','assetAccountCheckList'
+ 'number', 'assetAccountList','amountNoCurrency','currencyList','ruleGroupList','assetAccountCheckList','ruleGroupListWithEmpty'
],
],
'Form' => [
diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php
index 19233057ac..1f34455d49 100644
--- a/resources/lang/en_US/firefly.php
+++ b/resources/lang/en_US/firefly.php
@@ -179,6 +179,7 @@ return [
'authorization_request_intro' => ':client is requesting permission to access your financial administration. Would you like to authorize :client to access these records?',
'scopes_will_be_able' => 'This application will be able to:',
'button_authorize' => 'Authorize',
+ 'none_in_select_list' => '(none)',
// check for updates:
'update_check_title' => 'Check for updates',
diff --git a/resources/views/rules/rule-group/delete.twig b/resources/views/rules/rule-group/delete.twig
index 0d5474343d..4b5618bc9e 100644
--- a/resources/views/rules/rule-group/delete.twig
+++ b/resources/views/rules/rule-group/delete.twig
@@ -35,7 +35,7 @@
- {{ Form.select('move_rules_before_delete', ruleGroupList, null, {class: 'form-control'}) }}
+ {{ ExpandedForm.ruleGroupListWithEmpty('move_rules_before_delete',null, {'hidden': ruleGroup.id}) }}
{% else %}