mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
First attempt at a view for transactions without a budget (issue #23)
This commit is contained in:
parent
d9b70f7ad8
commit
e405d06f23
@ -37,8 +37,8 @@ return [
|
|||||||
'Illuminate\Validation\ValidationServiceProvider',
|
'Illuminate\Validation\ValidationServiceProvider',
|
||||||
'Illuminate\View\ViewServiceProvider',
|
'Illuminate\View\ViewServiceProvider',
|
||||||
'Illuminate\Workbench\WorkbenchServiceProvider',
|
'Illuminate\Workbench\WorkbenchServiceProvider',
|
||||||
# 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
|
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
|
||||||
# 'Barryvdh\Debugbar\ServiceProvider',
|
'Barryvdh\Debugbar\ServiceProvider',
|
||||||
'Firefly\Storage\StorageServiceProvider',
|
'Firefly\Storage\StorageServiceProvider',
|
||||||
'Firefly\Helper\HelperServiceProvider',
|
'Firefly\Helper\HelperServiceProvider',
|
||||||
'Firefly\Validation\ValidationServiceProvider',
|
'Firefly\Validation\ValidationServiceProvider',
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
|
use Firefly\Exception\FireflyException;
|
||||||
use Firefly\Helper\Controllers\BudgetInterface as BI;
|
use Firefly\Helper\Controllers\BudgetInterface as BI;
|
||||||
use Firefly\Storage\Budget\BudgetRepositoryInterface as BRI;
|
use Firefly\Storage\Budget\BudgetRepositoryInterface as BRI;
|
||||||
|
|
||||||
@ -29,6 +30,38 @@ class BudgetController extends BaseController
|
|||||||
View::share('mainTitleIcon', 'fa-tasks');
|
View::share('mainTitleIcon', 'fa-tasks');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function nobudget($view = 'session') {
|
||||||
|
switch($view) {
|
||||||
|
default:
|
||||||
|
throw new FireflyException('Cannot show transactions without a budget for view "'.$view.'".');
|
||||||
|
break;
|
||||||
|
case 'session':
|
||||||
|
$start = Session::get('start');
|
||||||
|
$end = Session::get('end');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add expenses that have no budget:
|
||||||
|
$set = \Auth::user()->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
|
* @return $this|\Illuminate\View\View
|
||||||
*/
|
*/
|
||||||
|
@ -150,6 +150,8 @@ Route::group(['before' => 'auth'], function () {
|
|||||||
Route::get('/budgets/budget',['uses' => 'BudgetController@indexByBudget','as' => 'budgets.index.budget']);
|
Route::get('/budgets/budget',['uses' => 'BudgetController@indexByBudget','as' => 'budgets.index.budget']);
|
||||||
Route::get('/budgets/create',['uses' => 'BudgetController@create', 'as' => 'budgets.create']);
|
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/show/{budget}/{limitrepetition?}',['uses' => 'BudgetController@show', 'as' => 'budgets.show']);
|
||||||
Route::get('/budgets/edit/{budget}',['uses' => 'BudgetController@edit', 'as' => 'budgets.edit']);
|
Route::get('/budgets/edit/{budget}',['uses' => 'BudgetController@edit', 'as' => 'budgets.edit']);
|
||||||
Route::get('/budgets/delete/{budget}',['uses' => 'BudgetController@delete', 'as' => 'budgets.delete']);
|
Route::get('/budgets/delete/{budget}',['uses' => 'BudgetController@delete', 'as' => 'budgets.delete']);
|
||||||
|
30
app/views/budgets/nobudget.blade.php
Normal file
30
app/views/budgets/nobudget.blade.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
@extends('layouts.default')
|
||||||
|
@section('content')
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||||
|
@if($view == 'session')
|
||||||
|
<!-- warning for session date -->
|
||||||
|
<p class="bg-primary" style="padding:15px;">
|
||||||
|
This view is filtered to only show transactions between {{Session::get('start')->format('d M Y')}}
|
||||||
|
and {{Session::get('end')->format('d M Y')}}.
|
||||||
|
</p>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@if($transactions->count() > 0)
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
@include('lists.transactions',['journals' => $transactions,'sum' => true])
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<h4>{{$repetition['date']}}
|
||||||
|
</h4>
|
||||||
|
<p><em>No transactions</em></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@stop
|
Loading…
Reference in New Issue
Block a user