Code cleanup courtesy of Scrutiniser CI.

This commit is contained in:
James Cole
2016-02-17 21:55:00 +01:00
parent ff342f6789
commit a178fed0c6
24 changed files with 53 additions and 105 deletions

View File

@@ -126,7 +126,7 @@ class AbnAmroDescription extends Specifix implements SpecifixInterface
foreach ($matches as $match) { foreach ($matches as $match) {
$key = $match[1]; $key = $match[1];
$value = trim($match[2]); $value = trim($match[2]);
Log::debug("SEPA: $key - $value"); Log::debug('SEPA: ' . $key . ' - ' . $value);
switch (strtoupper($key)) { switch (strtoupper($key)) {
case 'OMSCHRIJVING': case 'OMSCHRIJVING':
$newDescription = $value; $newDescription = $value;

View File

@@ -155,9 +155,6 @@ class AuthController extends Controller
return redirect($this->redirectPath()); return redirect($this->redirectPath());
} }
throw new FireflyException('The authenticated user object is invalid.'); throw new FireflyException('The authenticated user object is invalid.');
return redirect($this->redirectPath());
} }
/** /**

View File

@@ -272,20 +272,8 @@ class RuleController extends Controller
*/ */
public function testTriggers(TestRuleFormRequest $request) public function testTriggers(TestRuleFormRequest $request)
{ {
// build trigger array from response TODO move to function: // build trigger array from response
$triggers = []; $triggers = $this->getValidTriggerList($request);
$data = [
'rule-triggers' => $request->get('rule-trigger'),
'rule-trigger-values' => $request->get('rule-trigger-value'),
'rule-trigger-stop' => $request->get('rule-trigger-stop'),
];
foreach ($data['rule-triggers'] as $index => $triggerType) {
$triggers[] = [
'type' => $triggerType,
'value' => $data['rule-trigger-values'][$index],
'stopProcessing' => intval($data['rule-trigger-stop'][$index]) === 1 ? true : false,
];
}
if (count($triggers) == 0) { if (count($triggers) == 0) {
@@ -300,20 +288,14 @@ class RuleController extends Controller
$matcher->setRange($range); $matcher->setRange($range);
$matcher->setTriggers($triggers); $matcher->setTriggers($triggers);
$matchingTransactions = $matcher->findMatchingTransactions(); $matchingTransactions = $matcher->findMatchingTransactions();
// Dispatch the actual work to a matched object
// $matchingTransactions
// = (new TransactionMatcher($triggers))
// ->setTransactionLimit($range)
// ->findMatchingTransactions($limit);
// Warn the user if only a subset of transactions is returned // Warn the user if only a subset of transactions is returned
$warning = '';
if (count($matchingTransactions) == $limit) { if (count($matchingTransactions) == $limit) {
$warning = trans('firefly.warning_transaction_subset', ['max_num_transactions' => $limit]); $warning = trans('firefly.warning_transaction_subset', ['max_num_transactions' => $limit]);
} else { } else {
if (count($matchingTransactions) == 0) { if (count($matchingTransactions) == 0) {
$warning = trans('firefly.warning_no_matching_transactions', ['num_transactions' => $range]); $warning = trans('firefly.warning_no_matching_transactions', ['num_transactions' => $range]);
} else {
$warning = "";
} }
} }
@@ -378,38 +360,25 @@ class RuleController extends Controller
} }
/** /**
* Returns a list of triggers as provided in the URL. * @param TestRuleFormRequest $request
* Only returns triggers that will not match any transaction
* *
* @return array * @return array
*/ */
protected function getValidTriggerList() protected function getValidTriggerList(TestRuleFormRequest $request): array
{ {
$triggers = []; $triggers = [];
$order = 1;
$data = [ $data = [
'rule-triggers' => Input::get('rule-trigger'), 'rule-triggers' => $request->get('rule-trigger'),
'rule-trigger-values' => Input::get('rule-trigger-value'), 'rule-trigger-values' => $request->get('rule-trigger-value'),
'rule-trigger-stop' => Input::get('rule-trigger-stop'), 'rule-trigger-stop' => $request->get('rule-trigger-stop'),
]; ];
foreach ($data['rule-triggers'] as $index => $triggerType) {
foreach ($data['rule-triggers'] as $index => $trigger) { $triggers[] = [
$value = $data['rule-trigger-values'][$index]; 'type' => $triggerType,
$stopProcessing = isset($data['rule-trigger-stop'][$index]) ? true : false; 'value' => $data['rule-trigger-values'][$index],
'stopProcessing' => intval($data['rule-trigger-stop'][$index]) === 1 ? true : false,
// Create a new trigger object ];
$ruleTrigger = new RuleTrigger;
$ruleTrigger->order = $order;
$ruleTrigger->active = 1;
$ruleTrigger->stop_processing = $stopProcessing;
$ruleTrigger->trigger_type = $trigger;
$ruleTrigger->trigger_value = $value;
// Store in list
if (!$ruleTrigger->matchesAnything()) {
$triggers[] = $ruleTrigger;
$order++;
}
} }
return $triggers; return $triggers;

View File

@@ -89,7 +89,6 @@ class JournalFormRequest extends Request
break; break;
default: default:
throw new FireflyException('Cannot handle transaction type of type ' . e($what) . '.'); throw new FireflyException('Cannot handle transaction type of type ' . e($what) . '.');
break;
} }
return $rules; return $rules;

View File

@@ -26,7 +26,7 @@ use Log;
* *
* @package FireflyIII\Rules * @package FireflyIII\Rules
*/ */
class Processor final class Processor
{ {
/** @var Collection */ /** @var Collection */
private $actions; private $actions;

View File

@@ -10,7 +10,6 @@ declare(strict_types = 1);
namespace FireflyIII\Rules; namespace FireflyIII\Rules;
use FireflyIII\Models\Rule;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionType; use FireflyIII\Models\TransactionType;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
@@ -46,15 +45,10 @@ class TransactionMatcher
$pagesize = min($this->range / 2, $this->limit * 2); $pagesize = min($this->range / 2, $this->limit * 2);
// Variables used within the loop // Variables used within the loop
$numTransactionsProcessed = 0; $processed = 0;
$page = 1; $page = 1;
$matchingTransactions = new Collection(); $result = new Collection();
$processor = Processor::makeFromStringArray($this->triggers);
// Flags to indicate the end of the loop
$reachedEndOfList = false;
$foundEnoughTransactions = false;
$searchedEnoughTransactions = false;
$processor = Processor::makeFromStringArray($this->triggers);
// Start a loop to fetch batches of transactions. The loop will finish if: // Start a loop to fetch batches of transactions. The loop will finish if:
// - all transactions have been fetched from the database // - all transactions have been fetched from the database
@@ -73,31 +67,23 @@ class TransactionMatcher
); );
// merge: // merge:
$matchingTransactions = $matchingTransactions->merge($filtered); $result = $result->merge($filtered);
// $matchingTransactions += array_filter(
// $set, function ($transaction) {
// $processor = new Processor(new Rule, $transaction);
//
// return $processor->isTriggeredBy($this->triggers);
// }
// );
// Update counters // Update counters
$page++; $page++;
$numTransactionsProcessed += count($set); $processed += count($set);
// Check for conditions to finish the loop // Check for conditions to finish the loop
$reachedEndOfList = (count($set) < $pagesize); $reachedEndOfList = (count($set) < $pagesize);
$foundEnoughTransactions = (count($matchingTransactions) >= $this->limit); $foundEnoughTransactions = (count($result) >= $this->limit);
$searchedEnoughTransactions = ($numTransactionsProcessed >= $this->range); $searchedEnoughTransactions = ($processed >= $this->range);
} while (!$reachedEndOfList && !$foundEnoughTransactions && !$searchedEnoughTransactions); } while (!$reachedEndOfList && !$foundEnoughTransactions && !$searchedEnoughTransactions);
// If the list of matchingTransactions is larger than the maximum number of results // If the list of matchingTransactions is larger than the maximum number of results
// (e.g. if a large percentage of the transactions match), truncate the list // (e.g. if a large percentage of the transactions match), truncate the list
$matchingTransactions = $matchingTransactions->slice(0, $this->limit); $result = $result->slice(0, $this->limit);
return $matchingTransactions; return $result;
} }
/** /**

View File

@@ -19,7 +19,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class AmountExactly extends AbstractTrigger implements TriggerInterface final class AmountExactly extends AbstractTrigger implements TriggerInterface
{ {
/** /**

View File

@@ -19,7 +19,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class AmountLess extends AbstractTrigger implements TriggerInterface final class AmountLess extends AbstractTrigger implements TriggerInterface
{ {
/** /**

View File

@@ -19,7 +19,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class AmountMore extends AbstractTrigger implements TriggerInterface final class AmountMore extends AbstractTrigger implements TriggerInterface
{ {
/** /**

View File

@@ -19,7 +19,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class DescriptionContains extends AbstractTrigger implements TriggerInterface final class DescriptionContains extends AbstractTrigger implements TriggerInterface
{ {
/** /**
@@ -41,7 +41,7 @@ class DescriptionContains extends AbstractTrigger implements TriggerInterface
public static function willMatchEverything($value = null) public static function willMatchEverything($value = null)
{ {
if (!is_null($value)) { if (!is_null($value)) {
return strval($value) === ""; return strval($value) === '';
} }
return true; return true;

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class DescriptionEnds extends AbstractTrigger implements TriggerInterface final class DescriptionEnds extends AbstractTrigger implements TriggerInterface
{ {
/** /**
@@ -40,7 +40,7 @@ class DescriptionEnds extends AbstractTrigger implements TriggerInterface
public static function willMatchEverything($value = null) public static function willMatchEverything($value = null)
{ {
if (!is_null($value)) { if (!is_null($value)) {
return strval($value) === ""; return strval($value) === '';
} }
return true; return true;

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class DescriptionIs extends AbstractTrigger implements TriggerInterface final class DescriptionIs extends AbstractTrigger implements TriggerInterface
{ {
/** /**

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class DescriptionStarts extends AbstractTrigger implements TriggerInterface final class DescriptionStarts extends AbstractTrigger implements TriggerInterface
{ {
/** /**
@@ -40,7 +40,7 @@ class DescriptionStarts extends AbstractTrigger implements TriggerInterface
public static function willMatchEverything($value = null) public static function willMatchEverything($value = null)
{ {
if (!is_null($value)) { if (!is_null($value)) {
return strval($value) === ""; return strval($value) === '';
} }
return true; return true;

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class FromAccountContains extends AbstractTrigger implements TriggerInterface final class FromAccountContains extends AbstractTrigger implements TriggerInterface
{ {
/** /**
@@ -40,7 +40,7 @@ class FromAccountContains extends AbstractTrigger implements TriggerInterface
public static function willMatchEverything($value = null) public static function willMatchEverything($value = null)
{ {
if (!is_null($value)) { if (!is_null($value)) {
return strval($value) === ""; return strval($value) === '';
} }
return true; return true;

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class FromAccountEnds extends AbstractTrigger implements TriggerInterface final class FromAccountEnds extends AbstractTrigger implements TriggerInterface
{ {
/** /**
@@ -40,7 +40,7 @@ class FromAccountEnds extends AbstractTrigger implements TriggerInterface
public static function willMatchEverything($value = null) public static function willMatchEverything($value = null)
{ {
if (!is_null($value)) { if (!is_null($value)) {
return strval($value) === ""; return strval($value) === '';
} }
return true; return true;

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class FromAccountIs extends AbstractTrigger implements TriggerInterface final class FromAccountIs extends AbstractTrigger implements TriggerInterface
{ {
/** /**

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class FromAccountStarts extends AbstractTrigger implements TriggerInterface final class FromAccountStarts extends AbstractTrigger implements TriggerInterface
{ {
/** /**
@@ -40,7 +40,7 @@ class FromAccountStarts extends AbstractTrigger implements TriggerInterface
public static function willMatchEverything($value = null) public static function willMatchEverything($value = null)
{ {
if (!is_null($value)) { if (!is_null($value)) {
return strval($value) === ""; return strval($value) === '';
} }
return true; return true;

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class ToAccountContains extends AbstractTrigger implements TriggerInterface final class ToAccountContains extends AbstractTrigger implements TriggerInterface
{ {
/** /**
@@ -40,7 +40,7 @@ class ToAccountContains extends AbstractTrigger implements TriggerInterface
public static function willMatchEverything($value = null) public static function willMatchEverything($value = null)
{ {
if (!is_null($value)) { if (!is_null($value)) {
return strval($value) === ""; return strval($value) === '';
} }
return true; return true;

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class ToAccountEnds extends AbstractTrigger implements TriggerInterface final class ToAccountEnds extends AbstractTrigger implements TriggerInterface
{ {
/** /**
@@ -40,7 +40,7 @@ class ToAccountEnds extends AbstractTrigger implements TriggerInterface
public static function willMatchEverything($value = null) public static function willMatchEverything($value = null)
{ {
if (!is_null($value)) { if (!is_null($value)) {
return strval($value) === ""; return strval($value) === '';
} }
return true; return true;

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class ToAccountIs extends AbstractTrigger implements TriggerInterface final class ToAccountIs extends AbstractTrigger implements TriggerInterface
{ {
/** /**

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class ToAccountStarts extends AbstractTrigger implements TriggerInterface final class ToAccountStarts extends AbstractTrigger implements TriggerInterface
{ {
/** /**
@@ -40,7 +40,7 @@ class ToAccountStarts extends AbstractTrigger implements TriggerInterface
public static function willMatchEverything($value = null) public static function willMatchEverything($value = null)
{ {
if (!is_null($value)) { if (!is_null($value)) {
return strval($value) === ""; return strval($value) === '';
} }
return true; return true;

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class TransactionType extends AbstractTrigger implements TriggerInterface final class TransactionType extends AbstractTrigger implements TriggerInterface
{ {
/** /**

View File

@@ -38,9 +38,6 @@ class TriggerFactory
$class = self::getTriggerClass($triggerType); $class = self::getTriggerClass($triggerType);
$obj = $class::makeFromTriggerValue($trigger->trigger_value); $obj = $class::makeFromTriggerValue($trigger->trigger_value);
// this is a massive HACK. TODO.
$obj->databaseObject = $trigger;
return $obj; return $obj;
} }

View File

@@ -18,7 +18,7 @@ use Log;
* *
* @package FireflyIII\Rules\Triggers * @package FireflyIII\Rules\Triggers
*/ */
class UserAction extends AbstractTrigger implements TriggerInterface final class UserAction extends AbstractTrigger implements TriggerInterface
{ {
/** /**