Some extra logging + a fix for #1683

This commit is contained in:
James Cole 2018-09-13 20:23:17 +02:00
parent 71d3f452ed
commit 4377627332
3 changed files with 7 additions and 3 deletions

View File

@ -25,7 +25,7 @@ namespace FireflyIII\Helpers\Filter;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionType;
use Illuminate\Support\Collection;
use Log;
/**
* Class TransferFilter.
*
@ -49,6 +49,7 @@ class TransferFilter implements FilterInterface
/** @var Transaction $transaction */
foreach ($set as $transaction) {
if (TransactionType::TRANSFER !== $transaction->transaction_type_type) {
Log::debug(sprintf('Transaction #%d is not a transfer, add it.', $transaction->id));
$new->push($transaction);
continue;
}
@ -60,6 +61,7 @@ class TransferFilter implements FilterInterface
sort($accountIds);
sort($transactionIds);
$key = $journalId . '-' . implode(',', $transactionIds) . '-' . implode(',', $accountIds) . '-' . $amount;
Log::debug(sprintf('Current transaction key is "%s"', $key));
if (!isset($count[$key])) {
// not yet counted? add to new set and count it:
$new->push($transaction);

View File

@ -152,7 +152,7 @@ class SelectController extends Controller
$limit = (int)config('firefly.test-triggers.limit');
$range = (int)config('firefly.test-triggers.range');
$matchingTransactions = new Collection;
$strict = $request->get('strict') === '1';
$strict = '1' === $request->get('strict');
/** @var TransactionMatcher $matcher */
$matcher = app(TransactionMatcher::class);
$matcher->setLimit($limit);

View File

@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\TransactionRules;
use FireflyIII\Helpers\Collector\TransactionCollectorInterface;
use FireflyIII\Helpers\Filter\InternalTransferFilter;
use FireflyIII\Models\Rule;
use FireflyIII\Models\RuleTrigger;
use FireflyIII\Models\Transaction;
@ -267,6 +268,7 @@ class TransactionMatcher
/** @var TransactionCollectorInterface $collector */
$collector = app(TransactionCollectorInterface::class);
$collector->setUser(auth()->user());
$collector->withOpposingAccount();
$collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page)->setTypes($this->transactionTypes);
if (null !== $this->maxAmount) {
Log::debug(sprintf('Amount must be less than %s', $this->maxAmount));
@ -280,7 +282,7 @@ class TransactionMatcher
Log::debug(sprintf('Amount must be exactly %s', $this->exactAmount));
$collector->amountIs($this->exactAmount);
}
$collector->removeFilter(InternalTransferFilter::class);
$set = $collector->getPaginatedTransactions();
Log::debug(sprintf('Found %d journals to check. ', $set->count()));