diff --git a/app/Http/Controllers/RuleController.php b/app/Http/Controllers/RuleController.php index c33c759eb3..3e5b4e5fba 100644 --- a/app/Http/Controllers/RuleController.php +++ b/app/Http/Controllers/RuleController.php @@ -541,6 +541,7 @@ class RuleController extends Controller 'title' => trans('firefly.default_rule_name'), 'description' => trans('firefly.default_rule_description'), 'trigger' => 'store-journal', + 'strict' => true, 'rule-trigger-values' => [ trans('firefly.default_rule_trigger_description'), trans('firefly.default_rule_trigger_from_account'), diff --git a/app/TransactionRules/Processor.php b/app/TransactionRules/Processor.php index dd5f630198..ca7298dcdf 100644 --- a/app/TransactionRules/Processor.php +++ b/app/TransactionRules/Processor.php @@ -31,6 +31,7 @@ use FireflyIII\TransactionRules\Actions\ActionInterface; use FireflyIII\TransactionRules\Factory\ActionFactory; use FireflyIII\TransactionRules\Factory\TriggerFactory; use FireflyIII\TransactionRules\Triggers\AbstractTrigger; +use FireflyIII\TransactionRules\Triggers\UserAction; use Illuminate\Support\Collection; use Log; @@ -279,11 +280,14 @@ final class Processor Log::debug('Is a match!'); ++$hitTriggers; // is non-strict? then return true! - if (!$this->strict) { + if (!$this->strict && UserAction::class !== \get_class($trigger)) { Log::debug('Rule is set as non-strict, return true!'); return true; } + if (!$this->strict && UserAction::class === \get_class($trigger)) { + Log::debug('Rule is set as non-strict, but action was "user-action". Will not return true.'); + } } if ($trigger->stopProcessing) { Log::debug('Stop processing this trigger and break.');