diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index cd1a09c2ea..d9f8d518e2 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -82,8 +82,6 @@ class CategoryController extends Controller $data = $this->generator->all($entries); $cache->store($data); - return ' ' . json_encode($data); - return Response::json($data); } diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php index b873c84e4b..db5e6dbae5 100644 --- a/app/Http/Controllers/TagController.php +++ b/app/Http/Controllers/TagController.php @@ -221,7 +221,7 @@ class TagController extends Controller $subTitle = $tag->tag; $subTitleIcon = 'fa-tag'; /** @var Collection $journals */ - $journals = $tag->transactionjournals()->expanded()->get(TransactionJournal::queryFields()); + $journals = $tag->transactionjournals()->sortCorrectly()->expanded()->get(TransactionJournal::queryFields()); $sum = $journals->sum( function (TransactionJournal $journal) { diff --git a/app/Repositories/Account/AccountRepository.php b/app/Repositories/Account/AccountRepository.php index 34235f7177..62212762c6 100644 --- a/app/Repositories/Account/AccountRepository.php +++ b/app/Repositories/Account/AccountRepository.php @@ -180,6 +180,7 @@ class AccountRepository implements AccountRepositoryInterface $ids = $accounts->pluck('id')->toArray(); $journals = $this->user->transactionjournals() ->expanded() + ->sortCorrectly() ->before($end) ->where('destination_account.id', $account->id) ->whereIn('source_account.id', $ids) @@ -239,7 +240,7 @@ class AccountRepository implements AccountRepositoryInterface ->sortCorrectly() ->before($end) ->after($start) - ->take(10); + ->take(10); // expand query: $query->leftJoin( @@ -269,6 +270,7 @@ class AccountRepository implements AccountRepositoryInterface $ids = $accounts->pluck('id')->toArray(); $journals = $this->user->transactionjournals() ->expanded() + ->sortCorrectly() ->before($end) ->where('source_account.id', $account->id) ->whereIn('destination_account.id', $ids) @@ -290,6 +292,7 @@ class AccountRepository implements AccountRepositoryInterface $offset = ($page - 1) * $pageSize; $query = $this->user ->transactionJournals() + ->sortCorrectly() ->expanded(); // expand query: @@ -321,6 +324,7 @@ class AccountRepository implements AccountRepositoryInterface $query = $this->user ->transactionJournals() ->expanded() + ->sortCorrectly() ->where( function (Builder $q) use ($account) { $q->where('destination_account.id', $account->id); diff --git a/app/Repositories/Budget/BudgetRepository.php b/app/Repositories/Budget/BudgetRepository.php index baba663724..a5a135ab2b 100644 --- a/app/Repositories/Budget/BudgetRepository.php +++ b/app/Repositories/Budget/BudgetRepository.php @@ -876,6 +876,7 @@ class BudgetRepository implements BudgetRepositoryInterface $journalQuery = $this->user->transactionjournals() ->expanded() ->before($end) + ->sortCorrectly() ->after($start) ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') ->whereIn('budget_transaction_journal.budget_id', $budgets->pluck('id')->toArray()); @@ -892,6 +893,7 @@ class BudgetRepository implements BudgetRepositoryInterface $transactionQuery = $this->user->transactionjournals() ->expanded() ->before($end) + ->sortCorrectly() ->after($start) ->leftJoin('transactions as related', 'related.transaction_journal_id', '=', 'transaction_journals.id') ->leftJoin('budget_transaction', 'budget_transaction.transaction_id', '=', 'related.id') @@ -923,6 +925,7 @@ class BudgetRepository implements BudgetRepositoryInterface $set = $this->user ->transactionjournals() ->expanded() + ->sortCorrectly() ->transactionTypes([TransactionType::WITHDRAWAL]) ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') ->whereNull('budget_transaction_journal.id') diff --git a/app/Repositories/Category/CategoryRepository.php b/app/Repositories/Category/CategoryRepository.php index 192dfbf5bf..f76c5fc3bb 100644 --- a/app/Repositories/Category/CategoryRepository.php +++ b/app/Repositories/Category/CategoryRepository.php @@ -637,7 +637,7 @@ class CategoryRepository implements CategoryRepositoryInterface { $complete = new Collection; // 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->where('category_transaction_journal.category_id', $category->id); $first = $query->get(TransactionJournal::queryFields()); @@ -682,7 +682,7 @@ class CategoryRepository implements CategoryRepositoryInterface { $complete = new Collection; // first collect actual transaction journals (fairly easy) - $query = $this->user->transactionjournals()->expanded(); + $query = $this->user->transactionjournals()->expanded()->sortCorrectly(); if ($end >= $start) { $query->before($end)->after($start); @@ -777,7 +777,7 @@ class CategoryRepository implements CategoryRepositoryInterface // this second set REALLY doesn't have any categories. $secondSet = $secondQuery->get(['transactions.transaction_journal_id']); $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; diff --git a/app/Repositories/Journal/JournalRepository.php b/app/Repositories/Journal/JournalRepository.php index af03b870b3..7d05411f8c 100644 --- a/app/Repositories/Journal/JournalRepository.php +++ b/app/Repositories/Journal/JournalRepository.php @@ -128,7 +128,7 @@ class JournalRepository implements JournalRepositoryInterface public function getJournals(array $types, int $page, int $pageSize = 50): LengthAwarePaginator { $offset = ($page - 1) * $pageSize; - $query = $this->user->transactionJournals()->expanded(); + $query = $this->user->transactionJournals()->expanded()->sortCorrectly(); if (count($types) > 0) { $query->transactionTypes($types); } @@ -151,7 +151,7 @@ class JournalRepository implements JournalRepositoryInterface */ 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->after($start);