This commit is contained in:
James Cole
2021-05-01 18:54:11 +02:00
parent cc682485fc
commit 54d5f9a9c3
3 changed files with 13 additions and 2 deletions

View File

@@ -158,6 +158,7 @@ class SelectController extends Controller
$rule->ruleTriggers = $triggers; $rule->ruleTriggers = $triggers;
// create new rule engine: // create new rule engine:
/** @var RuleEngineInterface $newRuleEngine */
$newRuleEngine = app(RuleEngineInterface::class); $newRuleEngine = app(RuleEngineInterface::class);
// set rules: // set rules:

View File

@@ -61,7 +61,7 @@ trait RuleManagement
], ],
[ [
'type' => 'from_account_is', 'type' => 'from_account_is',
'value' => (string)trans('firefly.default_rule_trigger_from_account'), 'value' => (string)trans('firefly.default_rule_trigger_source_account'),
'stop_processing' => false, 'stop_processing' => false,
], ],

View File

@@ -145,6 +145,7 @@ class SearchRuleEngine implements RuleEngineInterface
*/ */
public function setRules(Collection $rules): void public function setRules(Collection $rules): void
{ {
Log::debug(__METHOD__); Log::debug(__METHOD__);
foreach ($rules as $rule) { foreach ($rules as $rule) {
if ($rule instanceof Rule) { if ($rule instanceof Rule) {
@@ -227,8 +228,16 @@ class SearchRuleEngine implements RuleEngineInterface
{ {
Log::debug(sprintf('Now in findStrictRule(#%d)', $rule->id ?? 0)); Log::debug(sprintf('Now in findStrictRule(#%d)', $rule->id ?? 0));
$searchArray = []; $searchArray = [];
/** @var Collection $triggers */
$triggers = $rule->ruleTriggers;
/** @var RuleTrigger $ruleTrigger */ /** @var RuleTrigger $ruleTrigger */
foreach ($rule->ruleTriggers()->where('active', 1)->get() as $ruleTrigger) { foreach ($triggers as $ruleTrigger) {
if (false === $ruleTrigger->active) {
continue;
}
// if needs no context, value is different: // if needs no context, value is different:
$needsContext = config(sprintf('firefly.search.operators.%s.needs_context', $ruleTrigger->trigger_type)) ?? true; $needsContext = config(sprintf('firefly.search.operators.%s.needs_context', $ruleTrigger->trigger_type)) ?? true;
if (false === $needsContext) { if (false === $needsContext) {
@@ -241,6 +250,7 @@ class SearchRuleEngine implements RuleEngineInterface
} }
} }
// add local operators: // add local operators:
foreach ($this->operators as $operator) { foreach ($this->operators as $operator) {
Log::debug(sprintf('SearchRuleEngine:: add local added operator: %s:"%s"', $operator['type'], $operator['value'])); Log::debug(sprintf('SearchRuleEngine:: add local added operator: %s:"%s"', $operator['type'], $operator['value']));