From e405d06f23db4e05ff8ee3b0edb2396703ec6015 Mon Sep 17 00:00:00 2001 From: Sander Dorigo Date: Wed, 8 Oct 2014 21:50:03 +0200 Subject: [PATCH] First attempt at a view for transactions without a budget (issue #23) --- app/config/app.php | 4 ++-- app/controllers/BudgetController.php | 33 ++++++++++++++++++++++++++++ app/routes.php | 2 ++ app/views/budgets/nobudget.blade.php | 30 +++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 app/views/budgets/nobudget.blade.php diff --git a/app/config/app.php b/app/config/app.php index 87816af984..85182e8c8e 100644 --- a/app/config/app.php +++ b/app/config/app.php @@ -37,8 +37,8 @@ return [ 'Illuminate\Validation\ValidationServiceProvider', 'Illuminate\View\ViewServiceProvider', 'Illuminate\Workbench\WorkbenchServiceProvider', - # 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', - # 'Barryvdh\Debugbar\ServiceProvider', + 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', + 'Barryvdh\Debugbar\ServiceProvider', 'Firefly\Storage\StorageServiceProvider', 'Firefly\Helper\HelperServiceProvider', 'Firefly\Validation\ValidationServiceProvider', diff --git a/app/controllers/BudgetController.php b/app/controllers/BudgetController.php index 4a35bf32a4..6ed90c18f5 100644 --- a/app/controllers/BudgetController.php +++ b/app/controllers/BudgetController.php @@ -1,6 +1,7 @@ transactionjournals()->whereNotIn( + 'transaction_journals.id', function ($query) use ($start, $end) { + $query->select('transaction_journals.id')->from('transaction_journals') + ->leftJoin( + 'component_transaction_journal', 'component_transaction_journal.transaction_journal_id', '=', + 'transaction_journals.id' + ) + ->leftJoin('components', 'components.id', '=', 'component_transaction_journal.component_id') + ->where('transaction_journals.date', '>=', $start->format('Y-m-d')) + ->where('transaction_journals.date', '<=', $end->format('Y-m-d')) + ->where('components.class', 'Budget'); + } + )->before($end)->after($start)->get(); + + return View::make('budgets.nobudget') + ->with('view', $view) + ->with('transactions',$set) + ->with('subTitle', 'Transactions without a budget'); + } + /** * @return $this|\Illuminate\View\View */ diff --git a/app/routes.php b/app/routes.php index 7caec07c9c..920b590251 100644 --- a/app/routes.php +++ b/app/routes.php @@ -150,6 +150,8 @@ Route::group(['before' => 'auth'], function () { Route::get('/budgets/budget',['uses' => 'BudgetController@indexByBudget','as' => 'budgets.index.budget']); Route::get('/budgets/create',['uses' => 'BudgetController@create', 'as' => 'budgets.create']); + Route::get('/budgets/nobudget/{period}',['uses' => 'BudgetController@nobudget', 'as' => 'budgets.nobudget']); + Route::get('/budgets/show/{budget}/{limitrepetition?}',['uses' => 'BudgetController@show', 'as' => 'budgets.show']); Route::get('/budgets/edit/{budget}',['uses' => 'BudgetController@edit', 'as' => 'budgets.edit']); Route::get('/budgets/delete/{budget}',['uses' => 'BudgetController@delete', 'as' => 'budgets.delete']); diff --git a/app/views/budgets/nobudget.blade.php b/app/views/budgets/nobudget.blade.php new file mode 100644 index 0000000000..293d8cdab1 --- /dev/null +++ b/app/views/budgets/nobudget.blade.php @@ -0,0 +1,30 @@ +@extends('layouts.default') +@section('content') +
+
+ @if($view == 'session') + +

+ This view is filtered to only show transactions between {{Session::get('start')->format('d M Y')}} + and {{Session::get('end')->format('d M Y')}}. +

+ @endif +
+
+@if($transactions->count() > 0) +
+
+ @include('lists.transactions',['journals' => $transactions,'sum' => true]) +
+
+@else +
+
+

{{$repetition['date']}} +

+

No transactions

+
+
+@endif + +@stop \ No newline at end of file