First code for #2723

This commit is contained in:
James Cole
2019-12-20 21:01:27 +01:00
parent b4af70421d
commit be2794406c
13 changed files with 567 additions and 101 deletions

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\Journal;
use Carbon\Carbon;
use FireflyIII\Models\Account;
use FireflyIII\Models\Note;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionGroup;
@@ -377,4 +378,26 @@ class JournalRepository implements JournalRepositoryInterface
return $value;
}
/**
* @inheritDoc
*/
public function getSourceAccount(TransactionJournal $journal): Account
{
/** @var Transaction $transaction */
$transaction = $journal->transactions()->with('account')->where('amount', '<', 0)->first();
return $transaction->account;
}
/**
* @inheritDoc
*/
public function getDestinationAccount(TransactionJournal $journal): Account
{
/** @var Transaction $transaction */
$transaction = $journal->transactions()->with('account')->where('amount', '>', 0)->first();
return $transaction->account;
}
}

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\Journal;
use Carbon\Carbon;
use FireflyIII\Models\Account;
use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionJournalLink;
@@ -109,6 +110,22 @@ interface JournalRepositoryInterface
*/
public function getJournalSourceAccounts(TransactionJournal $journal): Collection;
/**
* Returns the source account of the journal.
*
* @param TransactionJournal $journal
* @return Account
*/
public function getSourceAccount(TransactionJournal $journal): Account;
/**
* Returns the destination account of the journal.
*
* @param TransactionJournal $journal
* @return Account
*/
public function getDestinationAccount(TransactionJournal $journal): Account;
/**
* Return total amount of journal. Is always positive.
*