. */ declare(strict_types=1); namespace FireflyIII\Support\Http\Controllers; use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; /** * Trait ModelInformation * */ trait ModelInformation { /** * Is transaction opening balance? * * @param TransactionJournal $journal * * @return bool */ protected function isOpeningBalance(TransactionJournal $journal): bool { return TransactionType::OPENING_BALANCE === $journal->transactionType->type; } /** * Checks if journal is split. * * @param TransactionJournal $journal * * @return bool */ protected function isSplitJournal(TransactionJournal $journal): bool // validate objects { /** @var JournalRepositoryInterface $repository */ $repository = app(JournalRepositoryInterface::class); $repository->setUser($journal->user); $count = $repository->countTransactions($journal); return $count > 2; } }