diff --git a/app/Http/Controllers/RuleController.php b/app/Http/Controllers/RuleController.php index 99d71a5e02..b6d08b6886 100644 --- a/app/Http/Controllers/RuleController.php +++ b/app/Http/Controllers/RuleController.php @@ -83,7 +83,9 @@ class RuleController extends Controller $this->createDefaultRule(); $bill = null; $billId = (int)$request->get('fromBill'); - $preFilled = []; + $preFilled = [ + 'strict' => true, + ]; $groups = ExpandedForm::makeSelectList($ruleGroupRepository->get()); $oldTriggers = []; $oldActions = []; diff --git a/app/Support/ExpandedForm.php b/app/Support/ExpandedForm.php index 0662f811bc..08fbd72e8c 100644 --- a/app/Support/ExpandedForm.php +++ b/app/Support/ExpandedForm.php @@ -169,11 +169,17 @@ class ExpandedForm */ public function checkbox(string $name, $value = 1, $checked = null, $options = []): string { - $options['checked'] = true === $checked ? true : null; - $label = $this->label($name, $options); - $options = $this->expandOptionArray($name, $label, $options); - $classes = $this->getHolderClasses($name); - $value = $this->fillFieldValue($name, $value); + $options['checked'] = true === $checked ? true : false; + + if (Session::has('preFilled')) { + $preFilled = session('preFilled'); + $options['checked'] = $preFilled[$name] ?? $options['checked']; + } + + $label = $this->label($name, $options); + $options = $this->expandOptionArray($name, $label, $options); + $classes = $this->getHolderClasses($name); + $value = $this->fillFieldValue($name, $value); unset($options['placeholder'], $options['autocomplete'], $options['class']);