From f4b066add1806bb10d9770ac7fccaf8618c5028f Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 14 Mar 2024 21:20:30 +0100 Subject: [PATCH] Fix https://github.com/firefly-iii/firefly-iii/issues/8671 --- app/TransactionRules/Engine/SearchRuleEngine.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/TransactionRules/Engine/SearchRuleEngine.php b/app/TransactionRules/Engine/SearchRuleEngine.php index 79eed1d4da..e415654509 100644 --- a/app/TransactionRules/Engine/SearchRuleEngine.php +++ b/app/TransactionRules/Engine/SearchRuleEngine.php @@ -108,9 +108,13 @@ class SearchRuleEngine implements RuleEngineInterface if (false === $ruleTrigger->active) { continue; } + $contextSearch = $ruleTrigger->trigger_type; + if(str_starts_with($ruleTrigger->trigger_type, '-')) { + $contextSearch = substr($ruleTrigger->trigger_type, 1); + } // if the trigger needs no context, value is different: - $needsContext = (bool)(config(sprintf('search.operators.%s.needs_context', $ruleTrigger->trigger_type)) ?? true); + $needsContext = (bool)(config(sprintf('search.operators.%s.needs_context', $contextSearch)) ?? true); if (false === $needsContext) { app('log')->debug(sprintf('SearchRuleEngine:: add a rule trigger (no context): %s:true', $ruleTrigger->trigger_type)); $searchArray[$ruleTrigger->trigger_type][] = 'true';