. */ declare(strict_types=1); namespace FireflyIII\Support\Form; use FireflyIII\Models\RuleGroup; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; /** * Class RuleForm * TODO cleanup and describe */ class RuleForm { use FormSupport; public function ruleGroupList(string $name, mixed $value = null, ?array $options = null): string { /** @var RuleGroupRepositoryInterface $groupRepos */ $groupRepos = app(RuleGroupRepositoryInterface::class); // get all currencies: $list = $groupRepos->get(); $array = []; /** @var RuleGroup $group */ foreach ($list as $group) { $array[$group->id] = $group->title; } return $this->select($name, $array, $value, $options); } /** * @param null $value */ public function ruleGroupListWithEmpty(string $name, $value = null, ?array $options = null): string { $options ??= []; $options['class'] = 'form-control'; /** @var RuleGroupRepositoryInterface $groupRepos */ $groupRepos = app(RuleGroupRepositoryInterface::class); // get all currencies: $list = $groupRepos->get(); $array = [ 0 => (string) trans('firefly.none_in_select_list'), ]; /** @var RuleGroup $group */ foreach ($list as $group) { if (array_key_exists('hidden', $options) && (int) $options['hidden'] !== $group->id) { $array[$group->id] = $group->title; } } return $this->select($name, $array, $value, $options); } }