From 1fc31b4d8f2291fa3e5bfbb1f280bd6882dfa7fc Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 17 Apr 2016 11:28:44 +0200 Subject: [PATCH] Fixed a bug courtesy of Johan. --- app/Helpers/Csv/Importer.php | 63 ++---------------------------------- 1 file changed, 2 insertions(+), 61 deletions(-) diff --git a/app/Helpers/Csv/Importer.php b/app/Helpers/Csv/Importer.php index 02de9dff5c..90aadc3a0e 100644 --- a/app/Helpers/Csv/Importer.php +++ b/app/Helpers/Csv/Importer.php @@ -4,19 +4,15 @@ namespace FireflyIII\Helpers\Csv; use Auth; use Config; +use FireflyIII\Events\TransactionJournalStored; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Csv\Converter\ConverterInterface; use FireflyIII\Helpers\Csv\PostProcessing\PostProcessorInterface; use FireflyIII\Helpers\Csv\Specifix\SpecifixInterface; use FireflyIII\Models\Account; -use FireflyIII\Models\Rule; -use FireflyIII\Models\RuleGroup; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; -use FireflyIII\Rules\Processor; -use FireflyIII\User; -use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Support\Collection; use Illuminate\Support\MessageBag; use Log; @@ -120,19 +116,13 @@ class Importer Log::error('Caught error at row #' . $index . ': ' . $result); $this->errors[$index] = $result; } else { - - $this->imported++; $this->journals->push($result); + event(new TransactionJournalStored($result, 0)); } Log::debug('---'); } } - - // once all journals have been imported (or not) - // fire the rules. - $this->fireRules(); - } /** @@ -360,55 +350,6 @@ class Importer return true; } - /** - * @param Collection $groups - * @param TransactionJournal $journal - */ - private function fireRule(Collection $groups, TransactionJournal $journal) - { - /** @var RuleGroup $group */ - foreach ($groups as $group) { - - /** @var Rule $rule */ - foreach ($group->rules as $rule) { - $processor = Processor::make($rule); - $processor->handleTransactionJournal($journal); - if ($rule->stop_processing) { - break; - } - } - } - } - - private function fireRules() - { - // get all users rules. - /** @var User $user */ - $user = Auth::user(); - $groups = $user - ->ruleGroups() - ->where('rule_groups.active', 1) - ->orderBy('order', 'ASC') - ->with( - [ - 'rules' => function (HasMany $q) { - $q->leftJoin('rule_triggers', 'rules.id', '=', 'rule_triggers.rule_id') - ->where('rule_triggers.trigger_type', 'user_action') - ->where('rule_triggers.trigger_value', 'store-journal') - ->where('rules.active', 1) - ->orderBy('rules.order', 'ASC'); - }, - ] - ) - ->get(); - - /** @var TransactionJournal $journal */ - foreach ($this->journals as $journal) { - $this->fireRule($groups, $journal); - } - - } - /** * @return array */