diff --git a/app/Http/Controllers/Json/ReconcileController.php b/app/Http/Controllers/Json/ReconcileController.php index 006a1251ab..eb8d518abe 100644 --- a/app/Http/Controllers/Json/ReconcileController.php +++ b/app/Http/Controllers/Json/ReconcileController.php @@ -83,14 +83,18 @@ class ReconcileController extends Controller * * @return JsonResponse */ - public function overview(Request $request, Account $account, Carbon $start, Carbon $end): JsonResponse + public function overview(Request $request, Account $account = null, Carbon $start = null, Carbon $end = null): JsonResponse { $startBalance = $request->get('startBalance'); $endBalance = $request->get('endBalance'); $accountCurrency = $this->accountRepos->getAccountCurrency($account) ?? app('amount')->getDefaultCurrency(); $amount = '0'; $clearedAmount = '0'; + $route = ''; + if (null === $start && null === $end) { + throw new FireflyException('Invalid dates submitted.'); + } if ($end->lt($start)) { [$start, $end] = [$end, $start]; } @@ -220,8 +224,11 @@ class ReconcileController extends Controller * @throws FireflyException * @throws JsonException */ - public function transactions(Account $account, Carbon $start, Carbon $end) + public function transactions(Account $account, Carbon $start = null, Carbon $end = null) { + if (null === $start || null === $end) { + throw new FireflyException('Invalid dates submitted.'); + } if ($end->lt($start)) { [$end, $start] = [$start, $end]; } diff --git a/public/v1/js/ff/accounts/reconcile.js b/public/v1/js/ff/accounts/reconcile.js index bb5ad5de8a..bba8540fe2 100644 --- a/public/v1/js/ff/accounts/reconcile.js +++ b/public/v1/js/ff/accounts/reconcile.js @@ -201,7 +201,12 @@ function getTransactionsForRange() { var index = indexUri.replace('%start%', $('input[name="start_date"]').val()).replace('%end%', $('input[name="end_date"]').val()); window.history.pushState('object or string', "Reconcile account", index); - $.getJSON(uri).done(placeTransactions); + $.getJSON(uri).done(placeTransactions).catch(exceptionHandling) +} +function exceptionHandling() { + $('#transactions_holder').empty().append($('

').addClass('text-center lead').html(selectRangeAndBalance)); + $('.start_reconcile').show(); + $('.initial_instructions').show(); } // /** diff --git a/resources/views/v1/accounts/reconcile/index.twig b/resources/views/v1/accounts/reconcile/index.twig index 205b67fd72..cdc9299848 100644 --- a/resources/views/v1/accounts/reconcile/index.twig +++ b/resources/views/v1/accounts/reconcile/index.twig @@ -131,6 +131,7 @@ var transactionsUri = '{{ transactionsUri }}'; var overviewUri = '{{ overviewUri }}'; var indexUri = '{{ indexUri }}'; + var selectRangeAndBalance = '{{ 'select_range_and_balance'|_|escape('js') }}'; {% endblock %}