Add budget keyword.

This commit is contained in:
James Cole
2017-02-19 07:41:12 +01:00
parent 1f6180ce5d
commit a27b686446
2 changed files with 28 additions and 2 deletions

View File

@@ -67,6 +67,10 @@ class Modifier
$res = Modifier::category($transaction, $modifier['value']);
Log::debug(sprintf('Category is %s? %s', $modifier['value'], var_export($res, true)));
break;
case 'budget':
$res = Modifier::budget($transaction, $modifier['value']);
Log::debug(sprintf('Budget is %s? %s', $modifier['value'], var_export($res, true)));
break;
}
@@ -88,6 +92,26 @@ class Modifier
}
/**
* @param Transaction $transaction
* @param string $search
*
* @return bool
*/
private static function budget(Transaction $transaction, string $search): bool
{
$journalBudget = '';
if (!is_null($transaction->transaction_journal_budget_name)) {
$journalBudget = Steam::decrypt(intval($transaction->transaction_journal_budget_encrypted), $transaction->transaction_journal_budget_name);
}
$transactionBudget = '';
if (!is_null($transaction->transaction_budget_name)) {
$journalBudget = Steam::decrypt(intval($transaction->transaction_budget_encrypted), $transaction->transaction_budget_name);
}
return self::stringCompare($journalBudget, $search) || self::stringCompare($transactionBudget, $search);
}
/**
* @param Transaction $transaction
* @param string $search

View File

@@ -193,8 +193,10 @@ class Search implements SearchInterface
/** @var JournalCollectorInterface $collector */
$collector = app(JournalCollectorInterface::class);
$collector->setUser($this->user);
$collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page)
->withOpposingAccount()->withCategoryInformation();
$collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page);
if($this->hasModifiers()) {
$collector->withOpposingAccount()->withCategoryInformation()->withBudgetInformation();
}
$set = $collector->getPaginatedJournals()->getCollection();
$words = $this->words;