diff --git a/app/Http/Controllers/Rule/SelectController.php b/app/Http/Controllers/Rule/SelectController.php index cada198931..3d069e2eb7 100644 --- a/app/Http/Controllers/Rule/SelectController.php +++ b/app/Http/Controllers/Rule/SelectController.php @@ -95,7 +95,7 @@ class SelectController extends Controller $ruleEngine = app(RuleEngine::class); $ruleEngine->setUser(auth()->user()); $ruleEngine->setRulesToApply($rules); - $ruleEngine->setTriggerMode(RuleEngine::TRIGGER_STORE); + $ruleEngine->setTriggerMode(RuleEngine::TRIGGER_BOTH); /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); @@ -127,7 +127,7 @@ class SelectController extends Controller public function selectTransactions(Rule $rule) { // does the user have shared accounts? - $first = session('first')->format('Y-m-d'); + $first = session('first', Carbon::now()->subYear())->format('Y-m-d'); $today = Carbon::now()->format('Y-m-d'); $subTitle = (string)trans('firefly.apply_rule_selection', ['title' => $rule->title]); diff --git a/app/TransactionRules/Engine/RuleEngine.php b/app/TransactionRules/Engine/RuleEngine.php index b6ef7964b2..270bd4963a 100644 --- a/app/TransactionRules/Engine/RuleEngine.php +++ b/app/TransactionRules/Engine/RuleEngine.php @@ -48,6 +48,8 @@ class RuleEngine public const TRIGGER_STORE = 1; /** @var int */ public const TRIGGER_UPDATE = 2; + /** @var int */ + public const TRIGGER_BOTH = 3; /** @var bool */ private $allRules; /** @var RuleGroupRepository */ @@ -227,7 +229,8 @@ class RuleEngine } $validTrigger = ('store-journal' === $trigger->trigger_value && self::TRIGGER_STORE === $this->triggerMode) - || ('update-journal' === $trigger->trigger_value && self::TRIGGER_UPDATE === $this->triggerMode); + || ('update-journal' === $trigger->trigger_value && self::TRIGGER_UPDATE === $this->triggerMode) + || $this->triggerMode === self::TRIGGER_BOTH; return $validTrigger && ($this->allRules || in_array($rule->id, $this->rulesToApply, true)) && true === $rule->active; }