Reinstate sorting.

This commit is contained in:
James Cole 2016-05-11 08:10:05 +02:00
parent 934656c954
commit 9f8faf15f1
6 changed files with 14 additions and 9 deletions

View File

@ -82,8 +82,6 @@ class CategoryController extends Controller
$data = $this->generator->all($entries); $data = $this->generator->all($entries);
$cache->store($data); $cache->store($data);
return ' ' . json_encode($data);
return Response::json($data); return Response::json($data);
} }

View File

@ -221,7 +221,7 @@ class TagController extends Controller
$subTitle = $tag->tag; $subTitle = $tag->tag;
$subTitleIcon = 'fa-tag'; $subTitleIcon = 'fa-tag';
/** @var Collection $journals */ /** @var Collection $journals */
$journals = $tag->transactionjournals()->expanded()->get(TransactionJournal::queryFields()); $journals = $tag->transactionjournals()->sortCorrectly()->expanded()->get(TransactionJournal::queryFields());
$sum = $journals->sum( $sum = $journals->sum(
function (TransactionJournal $journal) { function (TransactionJournal $journal) {

View File

@ -180,6 +180,7 @@ class AccountRepository implements AccountRepositoryInterface
$ids = $accounts->pluck('id')->toArray(); $ids = $accounts->pluck('id')->toArray();
$journals = $this->user->transactionjournals() $journals = $this->user->transactionjournals()
->expanded() ->expanded()
->sortCorrectly()
->before($end) ->before($end)
->where('destination_account.id', $account->id) ->where('destination_account.id', $account->id)
->whereIn('source_account.id', $ids) ->whereIn('source_account.id', $ids)
@ -239,7 +240,7 @@ class AccountRepository implements AccountRepositoryInterface
->sortCorrectly() ->sortCorrectly()
->before($end) ->before($end)
->after($start) ->after($start)
->take(10); ->take(10);
// expand query: // expand query:
$query->leftJoin( $query->leftJoin(
@ -269,6 +270,7 @@ class AccountRepository implements AccountRepositoryInterface
$ids = $accounts->pluck('id')->toArray(); $ids = $accounts->pluck('id')->toArray();
$journals = $this->user->transactionjournals() $journals = $this->user->transactionjournals()
->expanded() ->expanded()
->sortCorrectly()
->before($end) ->before($end)
->where('source_account.id', $account->id) ->where('source_account.id', $account->id)
->whereIn('destination_account.id', $ids) ->whereIn('destination_account.id', $ids)
@ -290,6 +292,7 @@ class AccountRepository implements AccountRepositoryInterface
$offset = ($page - 1) * $pageSize; $offset = ($page - 1) * $pageSize;
$query = $this->user $query = $this->user
->transactionJournals() ->transactionJournals()
->sortCorrectly()
->expanded(); ->expanded();
// expand query: // expand query:
@ -321,6 +324,7 @@ class AccountRepository implements AccountRepositoryInterface
$query = $this->user $query = $this->user
->transactionJournals() ->transactionJournals()
->expanded() ->expanded()
->sortCorrectly()
->where( ->where(
function (Builder $q) use ($account) { function (Builder $q) use ($account) {
$q->where('destination_account.id', $account->id); $q->where('destination_account.id', $account->id);

View File

@ -876,6 +876,7 @@ class BudgetRepository implements BudgetRepositoryInterface
$journalQuery = $this->user->transactionjournals() $journalQuery = $this->user->transactionjournals()
->expanded() ->expanded()
->before($end) ->before($end)
->sortCorrectly()
->after($start) ->after($start)
->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id')
->whereIn('budget_transaction_journal.budget_id', $budgets->pluck('id')->toArray()); ->whereIn('budget_transaction_journal.budget_id', $budgets->pluck('id')->toArray());
@ -892,6 +893,7 @@ class BudgetRepository implements BudgetRepositoryInterface
$transactionQuery = $this->user->transactionjournals() $transactionQuery = $this->user->transactionjournals()
->expanded() ->expanded()
->before($end) ->before($end)
->sortCorrectly()
->after($start) ->after($start)
->leftJoin('transactions as related', 'related.transaction_journal_id', '=', 'transaction_journals.id') ->leftJoin('transactions as related', 'related.transaction_journal_id', '=', 'transaction_journals.id')
->leftJoin('budget_transaction', 'budget_transaction.transaction_id', '=', 'related.id') ->leftJoin('budget_transaction', 'budget_transaction.transaction_id', '=', 'related.id')
@ -923,6 +925,7 @@ class BudgetRepository implements BudgetRepositoryInterface
$set = $this->user $set = $this->user
->transactionjournals() ->transactionjournals()
->expanded() ->expanded()
->sortCorrectly()
->transactionTypes([TransactionType::WITHDRAWAL]) ->transactionTypes([TransactionType::WITHDRAWAL])
->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id')
->whereNull('budget_transaction_journal.id') ->whereNull('budget_transaction_journal.id')

View File

@ -637,7 +637,7 @@ class CategoryRepository implements CategoryRepositoryInterface
{ {
$complete = new Collection; $complete = new Collection;
// first collect actual transaction journals (fairly easy) // first collect actual transaction journals (fairly easy)
$query = $this->user->transactionjournals()->expanded(); $query = $this->user->transactionjournals()->expanded()->sortCorrectly();
$query->leftJoin('category_transaction_journal', 'category_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id'); $query->leftJoin('category_transaction_journal', 'category_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id');
$query->where('category_transaction_journal.category_id', $category->id); $query->where('category_transaction_journal.category_id', $category->id);
$first = $query->get(TransactionJournal::queryFields()); $first = $query->get(TransactionJournal::queryFields());
@ -682,7 +682,7 @@ class CategoryRepository implements CategoryRepositoryInterface
{ {
$complete = new Collection; $complete = new Collection;
// first collect actual transaction journals (fairly easy) // first collect actual transaction journals (fairly easy)
$query = $this->user->transactionjournals()->expanded(); $query = $this->user->transactionjournals()->expanded()->sortCorrectly();
if ($end >= $start) { if ($end >= $start) {
$query->before($end)->after($start); $query->before($end)->after($start);
@ -777,7 +777,7 @@ class CategoryRepository implements CategoryRepositoryInterface
// this second set REALLY doesn't have any categories. // this second set REALLY doesn't have any categories.
$secondSet = $secondQuery->get(['transactions.transaction_journal_id']); $secondSet = $secondQuery->get(['transactions.transaction_journal_id']);
$allIds = $secondSet->pluck('transaction_journal_id')->toArray(); $allIds = $secondSet->pluck('transaction_journal_id')->toArray();
$return = $this->user->transactionjournals()->expanded()->whereIn('transaction_journals.id', $allIds)->get(TransactionJournal::queryFields()); $return = $this->user->transactionjournals()->sortCorrectly()->expanded()->whereIn('transaction_journals.id', $allIds)->get(TransactionJournal::queryFields());
return $return; return $return;

View File

@ -128,7 +128,7 @@ class JournalRepository implements JournalRepositoryInterface
public function getJournals(array $types, int $page, int $pageSize = 50): LengthAwarePaginator public function getJournals(array $types, int $page, int $pageSize = 50): LengthAwarePaginator
{ {
$offset = ($page - 1) * $pageSize; $offset = ($page - 1) * $pageSize;
$query = $this->user->transactionJournals()->expanded(); $query = $this->user->transactionJournals()->expanded()->sortCorrectly();
if (count($types) > 0) { if (count($types) > 0) {
$query->transactionTypes($types); $query->transactionTypes($types);
} }
@ -151,7 +151,7 @@ class JournalRepository implements JournalRepositoryInterface
*/ */
public function getJournalsInRange(Collection $accounts, Carbon $start, Carbon $end): Collection public function getJournalsInRange(Collection $accounts, Carbon $start, Carbon $end): Collection
{ {
$query = $this->user->transactionJournals()->expanded(); $query = $this->user->transactionJournals()->expanded()->sortCorrectly();
$query->before($end); $query->before($end);
$query->after($start); $query->after($start);