Fix for #1622 and a special debug view.

This commit is contained in:
James Cole
2018-11-23 08:31:00 +01:00
parent baac2ad921
commit 886d05d436
4 changed files with 43 additions and 10 deletions

View File

@@ -30,10 +30,12 @@ use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Http\Requests\JournalFormRequest;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionJournalMeta;
use FireflyIII\Models\TransactionType;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Support\Http\Controllers\ModelInformation;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Log;
@@ -180,6 +182,31 @@ class SingleController extends Controller
);
}
/**
* Show a special JSONified view of a transaction, for easier debug purposes.
*
* @param TransactionJournal $journal
*
* @return JsonResponse
*/
public function debugShow(TransactionJournal $journal): JsonResponse
{
$array = $journal->toArray();
$array['transactions'] = [];
$array['meta'] = [];
/** @var Transaction $transaction */
foreach ($journal->transactions as $transaction) {
$array['transactions'][] = $transaction->toArray();
}
/** @var TransactionJournalMeta $meta */
foreach ($journal->transactionJournalMeta as $meta) {
$array['meta'][] = $meta->toArray();
}
return response()->json($array);
}
/**
* Shows the form that allows a user to delete a transaction journal.
*
@@ -283,6 +310,8 @@ class SingleController extends Controller
'source_name' => $sourceAccounts->first()->edit_name,
'destination_id' => $destinationAccounts->first()->id,
'destination_name' => $destinationAccounts->first()->edit_name,
'bill_id' => $journal->bill_id,
'bill_name' => null === $journal->bill_id ? null : $journal->bill->name,
// new custom fields:
'due_date' => $repository->getJournalDate($journal, 'due_date'),
@@ -414,6 +443,12 @@ class SingleController extends Controller
// keep current bill:
$data['bill_id'] = $journal->bill_id;
// remove it if no checkbox:
if (!$request->boolean('keep_bill_id')) {
$data['bill_id'] = null;
}
$journal = $repository->update($journal, $data);
/** @var array $files */
$files = $request->hasFile('attachments') ? $request->file('attachments') : null;
@@ -446,14 +481,4 @@ class SingleController extends Controller
// redirect to previous URL.
return redirect($this->getPreviousUri('transactions.edit.uri'));
}
/**
* Show a special JSONified view of a transaction, for easier debug purposes.
*
* @param TransactionJournal $journal
*/
public function debugShow(TransactionJournal $journal)
{
}
}