diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index a747e31b8..28d29a8f2 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -56,6 +56,9 @@ class Handler extends ExceptionHandler */ protected function unauthenticated($request, AuthenticationException $exception) { + // Store the current uri in the session + session(['url.intended' => $request->url()]); + if ($request->expectsJson()) { return response()->json(['error' => 'Unauthenticated.'], 401); } diff --git a/app/Http/Controllers/Auth/Login.php b/app/Http/Controllers/Auth/Login.php index fdad97374..f3639a60a 100644 --- a/app/Http/Controllers/Auth/Login.php +++ b/app/Http/Controllers/Auth/Login.php @@ -84,7 +84,7 @@ class Login extends Controller return redirect('wizard'); } - return redirect('/'); + return redirect()->intended('/'); } public function destroy() diff --git a/app/Http/Controllers/Reports/ExpenseSummary.php b/app/Http/Controllers/Reports/ExpenseSummary.php index 151873539..d3d5ea2fe 100644 --- a/app/Http/Controllers/Reports/ExpenseSummary.php +++ b/app/Http/Controllers/Reports/ExpenseSummary.php @@ -112,6 +112,8 @@ class ExpenseSummary extends Controller $view_template = 'reports.expense_summary.index'; } + $print_url = $this->getPrintUrl($year); + // Expenses chart $chart = Charts::multi('line', 'chartjs') ->dimensions(0, 300) @@ -121,7 +123,17 @@ class ExpenseSummary extends Controller ->credits(false) ->view($chart_template); - return view($view_template, compact('chart', 'dates', 'categories', 'statuses', 'accounts', 'vendors', 'expenses', 'totals')); + return view($view_template, compact( + 'chart', + 'dates', + 'categories', + 'statuses', + 'accounts', + 'vendors', + 'expenses', + 'totals', + 'print_url' + )); } private function setAmount(&$graph, &$totals, &$expenses, $items, $type, $date_field) @@ -175,4 +187,25 @@ class ExpenseSummary extends Controller $totals[$month]['amount'] += $amount; } } + + private function getPrintUrl($year) + { + $print_url = 'reports/expense-summary?print=1' + . '&status=' . request('status') + . '&year='. request('year', $year); + + collect(request('accounts'))->each(function($item) use(&$print_url) { + $print_url .= '&accounts[]=' . $item; + }); + + collect(request('vendors'))->each(function($item) use(&$print_url) { + $print_url .= '&vendors[]=' . $item; + }); + + collect(request('categories'))->each(function($item) use(&$print_url) { + $print_url .= '&categories[]=' . $item; + }); + + return $print_url; + } } diff --git a/app/Http/Controllers/Reports/IncomeExpenseSummary.php b/app/Http/Controllers/Reports/IncomeExpenseSummary.php index 2362551ec..0f80a0bbd 100644 --- a/app/Http/Controllers/Reports/IncomeExpenseSummary.php +++ b/app/Http/Controllers/Reports/IncomeExpenseSummary.php @@ -153,6 +153,8 @@ class IncomeExpenseSummary extends Controller $view_template = 'reports.income_expense_summary.index'; } + $print_url = $this->getPrintUrl($year); + // Profit chart $chart = Charts::multi('line', 'chartjs') ->dimensions(0, 300) @@ -162,7 +164,20 @@ class IncomeExpenseSummary extends Controller ->credits(false) ->view($chart_template); - return view($view_template, compact('chart', 'dates', 'income_categories', 'expense_categories', 'categories', 'statuses', 'accounts', 'customers', 'vendors', 'compares', 'totals')); + return view($view_template, compact( + 'chart', + 'dates', + 'income_categories', + 'expense_categories', + 'categories', + 'statuses', + 'accounts', + 'customers', + 'vendors', + 'compares', + 'totals', + 'print_url' + )); } private function setAmount(&$graph, &$totals, &$compares, $items, $type, $date_field) @@ -242,4 +257,29 @@ class IncomeExpenseSummary extends Controller } } } + + private function getPrintUrl($year) + { + $print_url = 'reports/income-expense-summary?print=1' + . '&status=' . request('status') + . '&year='. request('year', $year); + + collect(request('accounts'))->each(function($item) use(&$print_url) { + $print_url .= '&accounts[]=' . $item; + }); + + collect(request('customers'))->each(function($item) use(&$print_url) { + $print_url .= '&customers[]=' . $item; + }); + + collect(request('vendors'))->each(function($item) use(&$print_url) { + $print_url .= '&vendors[]=' . $item; + }); + + collect(request('categories'))->each(function($item) use(&$print_url) { + $print_url .= '&categories[]=' . $item; + }); + + return $print_url; + } } diff --git a/app/Http/Controllers/Reports/IncomeSummary.php b/app/Http/Controllers/Reports/IncomeSummary.php index a6b37ab28..50a02a5f4 100644 --- a/app/Http/Controllers/Reports/IncomeSummary.php +++ b/app/Http/Controllers/Reports/IncomeSummary.php @@ -112,6 +112,8 @@ class IncomeSummary extends Controller $view_template = 'reports.income_summary.index'; } + $print_url = $this->getPrintUrl($year); + // Incomes chart $chart = Charts::multi('line', 'chartjs') ->dimensions(0, 300) @@ -121,7 +123,17 @@ class IncomeSummary extends Controller ->credits(false) ->view($chart_template); - return view($view_template, compact('chart', 'dates', 'categories', 'statuses', 'accounts', 'customers', 'incomes', 'totals')); + return view($view_template, compact( + 'chart', + 'dates', + 'categories', + 'statuses', + 'accounts', + 'customers', + 'incomes', + 'totals', + 'print_url' + )); } private function setAmount(&$graph, &$totals, &$incomes, $items, $type, $date_field) @@ -175,4 +187,25 @@ class IncomeSummary extends Controller $totals[$month]['amount'] += $amount; } } + + private function getPrintUrl($year) + { + $print_url = 'reports/income-summary?print=1' + . '&status=' . request('status') + . '&year='. request('year', $year); + + collect(request('accounts'))->each(function($item) use(&$print_url) { + $print_url .= '&accounts[]=' . $item; + }); + + collect(request('customers'))->each(function($item) use(&$print_url) { + $print_url .= '&customers[]=' . $item; + }); + + collect(request('categories'))->each(function($item) use(&$print_url) { + $print_url .= '&categories[]=' . $item; + }); + + return $print_url; + } } diff --git a/app/Http/ViewComposers/All.php b/app/Http/ViewComposers/All.php index 4dcaabe7b..86093ec29 100644 --- a/app/Http/ViewComposers/All.php +++ b/app/Http/ViewComposers/All.php @@ -18,7 +18,7 @@ class All public function compose(View $view) { // Make sure it's installed - if (!env('APP_INSTALLED')) { + if (!env('APP_INSTALLED') && (env('APP_ENV') !== 'testing')) { return; } diff --git a/resources/views/reports/expense_summary/index.blade.php b/resources/views/reports/expense_summary/index.blade.php index 7014b1b5b..bc2cada3e 100644 --- a/resources/views/reports/expense_summary/index.blade.php +++ b/resources/views/reports/expense_summary/index.blade.php @@ -3,7 +3,7 @@ @section('title', trans('reports.summary.expense')) @section('new_button') -  {{ trans('general.print') }} +  {{ trans('general.print') }} @endsection @section('content') diff --git a/resources/views/reports/income_expense_summary/index.blade.php b/resources/views/reports/income_expense_summary/index.blade.php index 8b5ad9c16..39b278854 100644 --- a/resources/views/reports/income_expense_summary/index.blade.php +++ b/resources/views/reports/income_expense_summary/index.blade.php @@ -3,7 +3,7 @@ @section('title', trans('reports.summary.income_expense')) @section('new_button') -  {{ trans('general.print') }} +  {{ trans('general.print') }} @endsection @section('content') diff --git a/resources/views/reports/income_summary/index.blade.php b/resources/views/reports/income_summary/index.blade.php index 46ffa5ae8..629bad120 100644 --- a/resources/views/reports/income_summary/index.blade.php +++ b/resources/views/reports/income_summary/index.blade.php @@ -3,7 +3,7 @@ @section('title', trans('reports.summary.income')) @section('new_button') -  {{ trans('general.print') }} +  {{ trans('general.print') }} @endsection @section('content') diff --git a/tests/Feature/Banking/Transaction.php b/tests/Feature/Banking/Transaction.php deleted file mode 100644 index 75465d7f4..000000000 --- a/tests/Feature/Banking/Transaction.php +++ /dev/null @@ -1,92 +0,0 @@ -get(); - - foreach ($bills as $bill) { - $bill_payments = $bill->payments; - - if ($bill_payments) { - foreach ($bill_payments as $bill_payment) { - $transactions[] = (object) [ - 'date' => $bill_payment->paid_at, - 'account' => $bill_payment->account->name, - 'type' => trans('invoices.status.partial'), - 'category' => trans_choice('general.invoices', 1), - 'description' => $bill_payment->description, - 'amount' => $bill_payment->amount, - 'currency_code' => $bill_payment->currency_code, - ]; - } - } - } - - $payments = Payment::where('vendor_id', $user_id)->get(); - - foreach ($payments as $payment) { - $transactions[] = (object) [ - 'date' => $payment->paid_at, - 'account' => $payment->account->name, - 'type' => 'Expense', - 'category' => $payment->category->name, - 'description' => $payment->description, - 'amount' => $payment->amount, - 'currency_code' => $payment->currency_code, - ]; - } - break; - case 'revenues': - $invoices = Invoice::where('customer_id', $user_id)->get(); - - foreach ($invoices as $invoice) { - $invoice_payments = $invoice->payments; - - if ($invoice_payments) { - foreach ($invoice_payments as $invoice_payment) { - $transactions[] = (object) [ - 'date' => $invoice_payment->paid_at, - 'account' => $invoice_payment->account->name, - 'type' => trans('invoices.status.partial'), - 'category' => trans_choice('general.invoices', 1), - 'description' => $invoice_payment->description, - 'amount' => $invoice_payment->amount, - 'currency_code' => $invoice_payment->currency_code, - ]; - } - } - } - - $revenues = Revenue::where('customer_id', $user_id)->get(); - - foreach ($revenues as $revenue) { - $transactions[] = (object) [ - 'date' => $revenue->paid_at, - 'account' => $revenue->account->name, - 'type' => trans_choice('general.payments', 1), - 'category' => $revenue->category->name, - 'description' => $revenue->description, - 'amount' => $revenue->amount, - 'currency_code' => $revenue->currency_code, - ]; - } - break; - } - - return $transactions; - } -}