diff --git a/app/Rules/Triggers/FromAccountContains.php b/app/Rules/Triggers/FromAccountContains.php new file mode 100644 index 0000000000..5e1e990cb6 --- /dev/null +++ b/app/Rules/Triggers/FromAccountContains.php @@ -0,0 +1,64 @@ +trigger = $trigger; + $this->journal = $journal; + } + + /** + * @return bool + */ + public function triggered() + { + $fromAccountName = strtolower($this->journal->source_account->name); + $search = strtolower($this->trigger->trigger_value); + $strpos = strpos($fromAccountName, $search); + + if (!($strpos === false)) { + // found something + Log::debug('"' . $fromAccountName . '" contains the text "' . $search . '". Return true.'); + + return true; + } + + // found nothing. + Log::debug('"' . $fromAccountName . '" does not contain the text "' . $search . '". Return false.'); + + return false; + + } +} \ No newline at end of file diff --git a/config/firefly.php b/config/firefly.php index bd323ebfc0..ef85e627f6 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -173,7 +173,7 @@ return [ 'from_account_starts' => 'FireflyIII\Rules\Triggers\FromAccountStarts', 'from_account_ends' => 'FireflyIII\Rules\Triggers\FromAccountEnds', 'from_account_is' => 'FireflyIII\Rules\Triggers\FromAccountIs', - 'from_account_contains' => 'FireflyIII\Rules\Triggers', + 'from_account_contains' => 'FireflyIII\Rules\Triggers\FromAccountContains', 'to_account_starts' => 'FireflyIII\Rules\Triggers', 'to_account_ends' => 'FireflyIII\Rules\Triggers', 'to_account_is' => 'FireflyIII\Rules\Triggers',