mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Sortable accounts.
This commit is contained in:
parent
505aee22bb
commit
651a4fd3cc
@ -7,7 +7,6 @@ use FireflyIII\Http\Requests;
|
||||
use FireflyIII\Http\Requests\AccountFormRequest;
|
||||
use FireflyIII\Models\Account;
|
||||
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
||||
use Illuminate\Pagination\LengthAwarePaginator;
|
||||
use Input;
|
||||
use Redirect;
|
||||
use Session;
|
||||
@ -123,18 +122,14 @@ class AccountController extends Controller
|
||||
$subTitle = Config::get('firefly.subTitlesByIdentifier.' . $what);
|
||||
$subTitleIcon = Config::get('firefly.subIconsByIdentifier.' . $what);
|
||||
$types = Config::get('firefly.accountTypesByIdentifier.' . $what);
|
||||
$size = 50;
|
||||
$page = intval(Input::get('page')) == 0 ? 1 : intval(Input::get('page'));
|
||||
$set = $repository->getAccounts($types, $page);
|
||||
$total = $repository->countAccounts($types);
|
||||
|
||||
$accounts = $repository->getAccounts($types);
|
||||
// last activity:
|
||||
/**
|
||||
* HERE WE ARE
|
||||
*/
|
||||
$start = clone Session::get('start', Carbon::now()->startOfMonth());
|
||||
$start->subDay();
|
||||
$set->each(
|
||||
$accounts->each(
|
||||
function (Account $account) use ($start, $repository) {
|
||||
$account->lastActivityDate = $repository->getLastActivity($account);
|
||||
$account->startBalance = Steam::balance($account, $start);
|
||||
@ -142,10 +137,6 @@ class AccountController extends Controller
|
||||
}
|
||||
);
|
||||
|
||||
$accounts = new LengthAwarePaginator($set, $total, $size, $page);
|
||||
$accounts->setPath(route('accounts.index', $what));
|
||||
|
||||
|
||||
return view('accounts.index', compact('what', 'subTitleIcon', 'subTitle', 'accounts'));
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ class BillController extends Controller
|
||||
$expense = null;
|
||||
|
||||
// get users expense accounts:
|
||||
$accounts = $repository->getAccounts(Config::get('firefly.accountTypesByIdentifier.expense'), -1);
|
||||
$accounts = $repository->getAccounts(Config::get('firefly.accountTypesByIdentifier.expense'));
|
||||
|
||||
foreach ($matches as $match) {
|
||||
$match = strtolower($match);
|
||||
|
@ -53,26 +53,16 @@ class AccountRepository implements AccountRepositoryInterface
|
||||
|
||||
/**
|
||||
* @param array $types
|
||||
* @param int $page
|
||||
*
|
||||
* @return Collection
|
||||
*/
|
||||
public function getAccounts(array $types, $page)
|
||||
public function getAccounts(array $types)
|
||||
{
|
||||
$query = Auth::user()->accounts()->with(
|
||||
$result = Auth::user()->accounts()->with(
|
||||
['accountmeta' => function (HasMany $query) {
|
||||
$query->where('name', 'accountRole');
|
||||
}]
|
||||
)->accountTypeIn($types)->orderBy('accounts.name', 'ASC');
|
||||
|
||||
if ($page == -1) {
|
||||
$result = $query->get(['accounts.*']);
|
||||
} else {
|
||||
$size = 50;
|
||||
$offset = ($page - 1) * $size;
|
||||
|
||||
$result = $query->take($size)->offset($offset)->get(['accounts.*']);
|
||||
}
|
||||
)->accountTypeIn($types)->orderBy('accounts.name', 'ASC')->get(['accounts.*'])->sortBy('name');
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
@ -33,11 +33,10 @@ interface AccountRepositoryInterface
|
||||
|
||||
/**
|
||||
* @param array $types
|
||||
* @param int $page
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getAccounts(array $types, $page);
|
||||
public function getAccounts(array $types);
|
||||
|
||||
/**
|
||||
* @param TransactionJournal $journal
|
||||
|
@ -22,13 +22,16 @@
|
||||
|
||||
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
@include('list.accounts')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
|
||||
@section('styles')
|
||||
<link rel="stylesheet" href="css/bootstrap-sortable.css" type="text/css" media="all" />
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<script type="text/javascript">
|
||||
var what = '{{{$what}}}';
|
||||
@ -39,5 +42,6 @@
|
||||
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
|
||||
<script type="text/javascript" src="js/gcharts.options.js"></script>
|
||||
<script type="text/javascript" src="js/gcharts.js"></script>
|
||||
<script type="text/javascript" src="js/bootstrap-sortable.js"></script>
|
||||
<script type="text/javascript" src="js/accounts.js"></script>
|
||||
@stop
|
||||
|
@ -1,18 +1,18 @@
|
||||
@if(is_object($accounts) && method_exists($accounts, 'render'))
|
||||
{!! $accounts->render() !!}
|
||||
@endif
|
||||
<table class="table table-striped table-bordered">
|
||||
<table class="table table-striped table-bordered sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th data-defaultsort="disabled"> </th>
|
||||
<th>Name</th>
|
||||
@if(isset($what) && $what == 'asset')
|
||||
<th>Role</th>
|
||||
@endif
|
||||
<th>Current balance</th>
|
||||
<th>Active</th>
|
||||
<th>Last activity</th>
|
||||
<th data-dateformat="DD-MMM-YYYY">Last activity</th>
|
||||
<th>Balance difference between {{Session::get('start')->format('jS F Y')}} and {{Session::get('end')->format('jS F Y')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($accounts as $account)
|
||||
<tr>
|
||||
<td>
|
||||
@ -31,29 +31,30 @@
|
||||
@endforeach
|
||||
</td>
|
||||
@endif
|
||||
<td>{!! Amount::format(Steam::balance($account)) !!}</td>
|
||||
<td>
|
||||
<?php $balance = Steam::balance($account);?>
|
||||
<td data-value="{{$balance}}">{!! Amount::format($balance) !!}</td>
|
||||
<td data-value="{{intval($account->active)}}">
|
||||
@if($account->active)
|
||||
<i class="fa fa-fw fa-check"></i>
|
||||
@else
|
||||
<i class="fa fa-fw fa-ban"></i>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($account->lastActivityDate)
|
||||
<td data-value="{{$account->lastActivityDate->format('d-m-Y')}}">
|
||||
{{{$account->lastActivityDate->format('j F Y')}}}
|
||||
@else
|
||||
<em>Never</em>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@else
|
||||
<td data-value="00-00-0000">
|
||||
<em>Never</em>
|
||||
</td>
|
||||
@endif
|
||||
<td data-value="{{$account->endBalance - $account->startBalance}}">
|
||||
{!! Amount::format($account->endBalance - $account->startBalance) !!}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@if(is_object($accounts) && method_exists($accounts, 'render'))
|
||||
{!! $accounts->render() !!}
|
||||
@endif
|
||||
|
Loading…
Reference in New Issue
Block a user