Throw error for invalid transactions.

This commit is contained in:
James Cole 2020-02-14 05:46:34 +01:00
parent 400c0ccaca
commit bf2d1c223b
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Transaction; namespace FireflyIII\Http\Controllers\Transaction;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\TransactionGroup; use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
@ -75,12 +76,18 @@ class ShowController extends Controller
* @param TransactionGroup $transactionGroup * @param TransactionGroup $transactionGroup
* *
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
* @throws FireflyException
*/ */
public function show(Request $request, TransactionGroup $transactionGroup) public function show(Request $request, TransactionGroup $transactionGroup)
{ {
/** @var TransactionJournal $first */ /** @var TransactionJournal $first */
$first = $transactionGroup->transactionJournals->first(); $first = $transactionGroup->transactionJournals->first();
$splits = $transactionGroup->transactionJournals->count(); $splits = $transactionGroup->transactionJournals->count();
if(null === $first) {
throw new FireflyException('This transaction is broken :(.');
}
$type = $first->transactionType->type; $type = $first->transactionType->type;
$title = 1 === $splits ? $first->description : $transactionGroup->title; $title = 1 === $splits ? $first->description : $transactionGroup->title;
$subTitle = sprintf('%s: "%s"', $type, $title); $subTitle = sprintf('%s: "%s"', $type, $title);