From 5ed09e3f3823a1295073f0832f9442845c36d91e Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 06:47:53 +0200 Subject: [PATCH 01/34] Call the corrected spent function [skip ci] --- app/Helpers/Report/ReportHelper.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Helpers/Report/ReportHelper.php b/app/Helpers/Report/ReportHelper.php index c1f3863e0e..2b066f726d 100644 --- a/app/Helpers/Report/ReportHelper.php +++ b/app/Helpers/Report/ReportHelper.php @@ -247,7 +247,7 @@ class ReportHelper implements ReportHelperInterface // no repetition(s) for this budget: if ($repetitions->count() == 0) { - $spent = $repository->spentInPeriod($budget, $start, $end, $shared); + $spent = $repository->spentInPeriodCorrected($budget, $start, $end, $shared); $budgetLine = new BudgetLine; $budgetLine->setBudget($budget); $budgetLine->setOverspent($spent); @@ -262,7 +262,7 @@ class ReportHelper implements ReportHelperInterface $budgetLine = new BudgetLine; $budgetLine->setBudget($budget); $budgetLine->setRepetition($repetition); - $expenses = $repository->spentInPeriod($budget, $repetition->startdate, $repetition->enddate, $shared); + $expenses = $repository->spentInPeriodCorrected($budget, $repetition->startdate, $repetition->enddate, $shared); $left = $expenses < floatval($repetition->amount) ? floatval($repetition->amount) - $expenses : 0; $spent = $expenses > floatval($repetition->amount) ? 0 : $expenses; $overspent = $expenses > floatval($repetition->amount) ? $expenses - floatval($repetition->amount) : 0; @@ -311,7 +311,7 @@ class ReportHelper implements ReportHelperInterface $repository = App::make('FireflyIII\Repositories\Category\CategoryRepositoryInterface'); $set = $repository->getCategories(); foreach ($set as $category) { - $spent = $repository->spentInPeriod($category, $start, $end, $shared); + $spent = $repository->spentInPeriodCorrected($category, $start, $end, $shared); $category->spent = $spent; $object->addCategory($category); $object->addTotal($spent); From a5d78f20aedc4d4a65799b9c56d133e28fce9283 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 06:48:52 +0200 Subject: [PATCH 02/34] Add corrected income and expense methods [skip ci] --- app/Helpers/Report/ReportQuery.php | 92 ++++++++++++++++++++++++++++-- 1 file changed, 88 insertions(+), 4 deletions(-) diff --git a/app/Helpers/Report/ReportQuery.php b/app/Helpers/Report/ReportQuery.php index 38fce48ebb..83efb2fbc6 100644 --- a/app/Helpers/Report/ReportQuery.php +++ b/app/Helpers/Report/ReportQuery.php @@ -23,7 +23,6 @@ use Steam; class ReportQuery implements ReportQueryInterface { - /** * This method returns all "expense" journals in a certain period, which are both transfers to a shared account * and "ordinary" withdrawals. The query used is almost equal to ReportQueryInterface::journalsByRevenueAccount but it does @@ -62,9 +61,11 @@ class ReportQuery implements ReportQueryInterface $query->groupBy('transaction_journals.id')->orderBy('transaction_journals.date'); // get everything, decrypt and return - $data = $query->get(['transaction_journals.id', 'transaction_journals.description', 'transaction_journals.encrypted', 'transaction_types.type', + $data = $query->get( + ['transaction_journals.id', 'transaction_journals.description', 'transaction_journals.encrypted', 'transaction_types.type', DB::Raw('SUM(`t_from`.`amount`) as `queryAmount`'), - 'transaction_journals.date', 't_to.account_id as account_id', 'ac_to.name as name', 'ac_to.encrypted as account_encrypted']); + 'transaction_journals.date', 't_to.account_id as account_id', 'ac_to.name as name', 'ac_to.encrypted as account_encrypted'] + ); $data->each( function (Model $object) { @@ -76,6 +77,47 @@ class ReportQuery implements ReportQueryInterface return $data; } + /** + * See ReportQueryInterface::incomeInPeriodCorrected + * + * @param Carbon $start + * @param Carbon $end + * @param bool $includeShared + * + * @return Collection + * + */ + public function expenseInPeriodCorrected(Carbon $start, Carbon $end, $includeShared = false) + { + $query = $this->queryJournalsWithTransactions($start, $end); + if ($includeShared === false) { + $query->where( + function (Builder $query) { + $query->where( + function (Builder $q) { // only get withdrawals not from a shared account + $q->where('transaction_types.type', 'Withdrawal'); + $q->where('acm_from.data', '!=', '"sharedAsset"'); + } + ); + $query->orWhere( + function (Builder $q) { // and transfers from a shared account. + $q->where('transaction_types.type', 'Transfer'); + $q->where('acm_to.data', '=', '"sharedAsset"'); + } + ); + } + ); + } else { + $query->where('transaction_types.type', 'Withdrawal'); // any withdrawal is fine. + } + $query->orderBy('transaction_journals.date'); + + // get everything + $data = $query->get(['transaction_journals.*',]); + + return $data; + } + /** * Get a users accounts combined with various meta-data related to the start and end date. * @@ -125,7 +167,6 @@ class ReportQuery implements ReportQueryInterface return $set; } - /** * This method returns all "income" journals in a certain period, which are both transfers from a shared account * and "ordinary" deposits. The query used is almost equal to ReportQueryInterface::journalsByRevenueAccount but it does @@ -189,7 +230,50 @@ class ReportQuery implements ReportQueryInterface return $data; } + /** + * This method works the same way as ReportQueryInterface::incomeInPeriod does, but instead of returning results + * will simply list the transaction journals only. This should allow any follow up counting to be accurate with + * regards to tags. + * + * @param Carbon $start + * @param Carbon $end + * @param bool $includeShared + * + * @return Collection + */ + public function incomeInPeriodCorrected(Carbon $start, Carbon $end, $includeShared = false) + { + $query = $this->queryJournalsWithTransactions($start, $end); + if ($includeShared === false) { + // only get deposits not to a shared account + // and transfers to a shared account. + $query->where( + function (Builder $query) { + $query->where( + function (Builder $q) { + $q->where('transaction_types.type', 'Deposit'); + $q->where('acm_to.data', '!=', '"sharedAsset"'); + } + ); + $query->orWhere( + function (Builder $q) { + $q->where('transaction_types.type', 'Transfer'); + $q->where('acm_from.data', '=', '"sharedAsset"'); + } + ); + } + ); + } else { + // any deposit is fine. + $query->where('transaction_types.type', 'Deposit'); + } + $query->orderBy('transaction_journals.date'); + // get everything + $data = $query->get(['transaction_journals.*',]); + + return $data; + } /** * @param Account $account From deda9d3c54be94d23170f653983d1a0b234ece91 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 06:49:03 +0200 Subject: [PATCH 03/34] Add corrected expense routes [skip ci] --- app/Helpers/Report/ReportQueryInterface.php | 37 +++++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/app/Helpers/Report/ReportQueryInterface.php b/app/Helpers/Report/ReportQueryInterface.php index bcf36e45da..7d9d2e33de 100644 --- a/app/Helpers/Report/ReportQueryInterface.php +++ b/app/Helpers/Report/ReportQueryInterface.php @@ -15,6 +15,32 @@ use Illuminate\Support\Collection; interface ReportQueryInterface { + /** + * This method returns all "expense" journals in a certain period, which are both transfers to a shared account + * and "ordinary" withdrawals. The query used is almost equal to ReportQueryInterface::journalsByRevenueAccount but it does + * not group and returns different fields. + * + * @param Carbon $start + * @param Carbon $end + * @param bool $includeShared + * + * @return Collection + * + */ + public function expenseInPeriod(Carbon $start, Carbon $end, $includeShared = false); + + /** + * See ReportQueryInterface::incomeInPeriodCorrected + * + * @param Carbon $start + * @param Carbon $end + * @param bool $includeShared + * + * @return Collection + * + */ + public function expenseInPeriodCorrected(Carbon $start, Carbon $end, $includeShared = false); + /** * Get a users accounts combined with various meta-data related to the start and end date. * @@ -26,7 +52,6 @@ interface ReportQueryInterface */ public function getAllAccounts(Carbon $start, Carbon $end, $includeShared = false); - /** * This method returns all "income" journals in a certain period, which are both transfers from a shared account * and "ordinary" deposits. The query used is almost equal to ReportQueryInterface::journalsByRevenueAccount but it does @@ -42,19 +67,17 @@ interface ReportQueryInterface public function incomeInPeriod(Carbon $start, Carbon $end, $includeShared = false); /** - * This method returns all "expense" journals in a certain period, which are both transfers to a shared account - * and "ordinary" withdrawals. The query used is almost equal to ReportQueryInterface::journalsByRevenueAccount but it does - * not group and returns different fields. + * This method works the same way as ReportQueryInterface::incomeInPeriod does, but instead of returning results + * will simply list the transaction journals only. This should allow any follow up counting to be accurate with + * regards to tags. * * @param Carbon $start * @param Carbon $end * @param bool $includeShared * * @return Collection - * */ - public function expenseInPeriod(Carbon $start, Carbon $end, $includeShared = false); - + public function incomeInPeriodCorrected(Carbon $start, Carbon $end, $includeShared = false); /** * @param Account $account From fbdf66998d1ef3d01325c5646934232c38c7a34a Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 06:49:22 +0200 Subject: [PATCH 04/34] Added a forgotten chart, corrected some others. [skip ci] --- .../Controllers/Chart/BudgetController.php | 42 +++++++++++++++++-- .../Controllers/Chart/CategoryController.php | 6 +-- .../Controllers/Chart/ReportController.php | 8 ++-- app/Http/routes.php | 1 + 4 files changed, 46 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php index 11031f865a..4de38a9199 100644 --- a/app/Http/Controllers/Chart/BudgetController.php +++ b/app/Http/Controllers/Chart/BudgetController.php @@ -9,6 +9,8 @@ use FireflyIII\Models\LimitRepetition; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use Grumpydictator\Gchart\GChart; use Illuminate\Support\Collection; +use Navigation; +use Preferences; use Response; use Session; @@ -19,6 +21,38 @@ use Session; */ class BudgetController extends Controller { + /** + * @param GChart $chart + * @param BudgetRepositoryInterface $repository + * @param Budget $budget + */ + public function budget(GChart $chart, BudgetRepositoryInterface $repository, Budget $budget) + { + $chart->addColumn(trans('firefly.period'),'date'); + $chart->addColumn(trans('firefly.spent'), 'number'); + + + $first = $repository->getFirstBudgetLimitDate($budget); + $range = $viewRange = Preferences::get('viewRange', '1M')->data; + $last = Session::get('end', new Carbon); + $final = clone $last; + $final->addYears(2); + $last = Navigation::endOfX($last, $range, $final); + + while ($first < $last) { + $end = Navigation::addPeriod($first, $range, 0); + + $spent = $repository->spentInPeriodCorrected($budget, $first, $end); + $chart->addRow($end, $spent); + + + $first = Navigation::addPeriod($first, $range, 0); + } + + $chart->generate(); + return Response::json($chart->getData()); + } + /** * Shows the amount left in a specific budget limit. * @@ -44,7 +78,7 @@ class BudgetController extends Controller /* * Sum of expenses on this day: */ - $sum = $repository->expensesOnDay($budget, $start); + $sum = $repository->expensesOnDayCorrected($budget, $start); $amount += $sum; $chart->addRow(clone $start, $amount); $start->addDay(); @@ -78,13 +112,13 @@ class BudgetController extends Controller foreach ($budgets as $budget) { $repetitions = $repository->getBudgetLimitRepetitions($budget, $start, $end); if ($repetitions->count() == 0) { - $expenses = $repository->spentInPeriod($budget, $start, $end, true); + $expenses = $repository->spentInPeriodCorrected($budget, $start, $end, true); $allEntries->push([$budget->name, 0, 0, $expenses]); continue; } /** @var LimitRepetition $repetition */ foreach ($repetitions as $repetition) { - $expenses = $repository->spentInPeriod($budget, $repetition->startdate, $repetition->enddate, true); + $expenses = $repository->spentInPeriodCorrected($budget, $repetition->startdate, $repetition->enddate, true); $left = $expenses < floatval($repetition->amount) ? floatval($repetition->amount) - $expenses : 0; $spent = $expenses > floatval($repetition->amount) ? 0 : $expenses; $overspent = $expenses > floatval($repetition->amount) ? $expenses - floatval($repetition->amount) : 0; @@ -145,7 +179,7 @@ class BudgetController extends Controller // each budget, fill the row: foreach ($budgets as $budget) { - $spent = $repository->spentInPeriod($budget, $start, $month, $shared); + $spent = $repository->spentInPeriodCorrected($budget, $start, $month, $shared); $row[] = $spent; } $chart->addRowArray($row); diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index b51120ebc1..0d2d4a648c 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -50,7 +50,7 @@ class CategoryController extends Controller while ($start <= $end) { $currentEnd = Navigation::endOfPeriod($start, $range); - $spent = $repository->spentInPeriod($category, $start, $currentEnd); + $spent = $repository->spentInPeriodCorrected($category, $start, $currentEnd); $chart->addRow(clone $start, $spent); $start = Navigation::addPeriod($start, $range, 0); @@ -109,7 +109,7 @@ class CategoryController extends Controller $chart->addColumn(trans('firefly.spent'), 'number'); while ($start <= $end) { - $spent = $repository->spentOnDaySum($category, $start); + $spent = $repository->spentOnDaySumCorrected($category, $start); $chart->addRow(clone $start, $spent); $start->addDay(); } @@ -153,7 +153,7 @@ class CategoryController extends Controller // each budget, fill the row: foreach ($categories as $category) { - $spent = $repository->spentInPeriod($category, $start, $month, $shared); + $spent = $repository->spentInPeriodCorrected($category, $start, $month, $shared); $row[] = $spent; } $chart->addRowArray($row); diff --git a/app/Http/Controllers/Chart/ReportController.php b/app/Http/Controllers/Chart/ReportController.php index 0980cf9525..1576ad27b6 100644 --- a/app/Http/Controllers/Chart/ReportController.php +++ b/app/Http/Controllers/Chart/ReportController.php @@ -43,8 +43,8 @@ class ReportController extends Controller $month = clone $start; $month->endOfMonth(); // total income and total expenses: - $incomeSum = floatval($query->incomeInPeriod($start, $month, $shared)->sum('queryAmount')); - $expenseSum = floatval($query->expenseInPeriod($start, $month, $shared)->sum('queryAmount')) * -1; + $incomeSum = floatval($query->incomeInPeriodCorrected($start, $month, $shared)->sum('amount')); + $expenseSum = floatval($query->expenseInPeriodCorrected($start, $month, $shared)->sum('amount')); $chart->addRow(clone $start, $incomeSum, $expenseSum); $start->addMonth(); @@ -82,8 +82,8 @@ class ReportController extends Controller $month = clone $start; $month->endOfMonth(); // total income and total expenses: - $income += floatval($query->incomeInPeriod($start, $month, $shared)->sum('queryAmount')); - $expense += floatval($query->expenseInPeriod($start, $month, $shared)->sum('queryAmount')) * -1; + $income += floatval($query->incomeInPeriodCorrected($start, $month, $shared)->sum('amount')); + $expense += floatval($query->expenseInPeriodCorrected($start, $month, $shared)->sum('amount')); $count++; $start->addMonth(); } diff --git a/app/Http/routes.php b/app/Http/routes.php index c5b4ed80af..e232d5172f 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -288,6 +288,7 @@ Route::group( Route::get('/chart/budget/frontpage', ['uses' => 'Chart\BudgetController@frontpage']); Route::get('/chart/budget/year/{year}/{shared?}', ['uses' => 'Chart\BudgetController@year'])->where(['year' => '[0-9]{4}', 'shared' => 'shared']); Route::get('/chart/budget/{budget}/{limitrepetition}', ['uses' => 'Chart\BudgetController@budgetLimit']); + Route::get('/chart/budget/{budget}', ['uses' => 'Chart\BudgetController@budget']); // categories: Route::get('/chart/category/frontpage', ['uses' => 'Chart\CategoryController@frontpage']); From 9217c2f003186e750e89205ac2428351067650da Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 06:49:51 +0200 Subject: [PATCH 05/34] Corrected some charts [skip ci] --- app/Http/Controllers/BudgetController.php | 2 +- app/Http/Controllers/JsonController.php | 9 +++++++-- app/Http/Controllers/TransactionController.php | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/BudgetController.php b/app/Http/Controllers/BudgetController.php index c62d06a799..dec660f378 100644 --- a/app/Http/Controllers/BudgetController.php +++ b/app/Http/Controllers/BudgetController.php @@ -138,7 +138,7 @@ class BudgetController extends Controller function (Budget $budget) use ($repository) { $date = Session::get('start', Carbon::now()->startOfMonth()); $end = Session::get('end', Carbon::now()->endOfMonth()); - $budget->spent = $repository->spentInPeriod($budget, $date, $end); + $budget->spent = $repository->spentInPeriodCorrected($budget, $date, $end); $budget->currentRep = $repository->getCurrentRepetition($budget, $date); } ); diff --git a/app/Http/Controllers/JsonController.php b/app/Http/Controllers/JsonController.php index 8c4f64e97a..3f47dbdc67 100644 --- a/app/Http/Controllers/JsonController.php +++ b/app/Http/Controllers/JsonController.php @@ -122,7 +122,12 @@ class JsonController extends Controller { $start = Session::get('start', Carbon::now()->startOfMonth()); $end = Session::get('end', Carbon::now()->endOfMonth()); - $amount = $reportQuery->incomeInPeriod($start, $end, true)->sum('queryAmount'); + $amount = $reportQuery->incomeInPeriodCorrected($start, $end, true)->sum('amount'); + // $amount = 0; + // foreach($set as $entry) { + // //echo $entry->description.' ('.$entry->tags->count().'): ' . $entry->amount."\n"; + // $amount += $entry->amount; + // } return Response::json(['box' => 'in', 'amount' => Amount::format($amount, false), 'amount_raw' => $amount]); } @@ -136,7 +141,7 @@ class JsonController extends Controller { $start = Session::get('start', Carbon::now()->startOfMonth()); $end = Session::get('end', Carbon::now()->endOfMonth()); - $amount = $reportQuery->expenseInPeriod($start, $end, true)->sum('queryAmount') * -1; + $amount = $reportQuery->expenseInPeriodCorrected($start, $end, true)->sum('amount'); return Response::json(['box' => 'out', 'amount' => Amount::format($amount, false), 'amount_raw' => $amount]); } diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index e8a0c23a81..8188ceb1f1 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -149,7 +149,7 @@ class TransactionController extends Controller $preFilled['piggy_bank_id'] = $journal->piggyBankEvents()->orderBy('date', 'DESC')->first()->piggy_bank_id; } - $preFilled['amount'] = $journal->amount; + $preFilled['amount'] = $journal->actualAmount; $preFilled['account_id'] = $journal->assetAccount->id; $preFilled['expense_account'] = $transactions[0]->account->name; $preFilled['revenue_account'] = $transactions[1]->account->name; From 42b49d0e4b9532242109d3f1e408a2ff95a78c99 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 06:50:15 +0200 Subject: [PATCH 06/34] Added some correcting methods. [skip ci] --- app/Models/TransactionJournal.php | 9 +++- app/Repositories/Budget/BudgetRepository.php | 47 ++++++++++++++++ .../Budget/BudgetRepositoryInterface.php | 30 +++++++++-- .../Category/CategoryRepository.php | 54 +++++++++++++++++++ .../Category/CategoryRepositoryInterface.php | 23 ++++++++ app/Support/Twig/Budget.php | 15 ++++++ 6 files changed, 174 insertions(+), 4 deletions(-) diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php index 9bbe977e46..80cc0b0c26 100644 --- a/app/Models/TransactionJournal.php +++ b/app/Models/TransactionJournal.php @@ -99,15 +99,22 @@ class TransactionJournal extends Model /** @var Tag $tag */ $tag = $this->tags()->where('tagMode', 'advancePayment')->first(); if ($tag && $this->transactionType->type == 'Withdrawal') { + // loop other deposits, remove from our amount. $others = $tag->transactionJournals()->transactionTypes(['Deposit'])->get(); foreach ($others as $other) { - $amount -= $other->amount; + $amount -= $other->actualAmount; } return $amount; } + // if this journal is part of an advancePayment AND the journal is a deposit, + // then the journal amount is correcting a withdrawal, and the amount is zero: + if ($tag && $this->transactionType->type == 'Deposit') { + return 0; + } + return $amount; } diff --git a/app/Repositories/Budget/BudgetRepository.php b/app/Repositories/Budget/BudgetRepository.php index 96a5899e13..6a0dc8a9d8 100644 --- a/app/Repositories/Budget/BudgetRepository.php +++ b/app/Repositories/Budget/BudgetRepository.php @@ -99,6 +99,7 @@ class BudgetRepository implements BudgetRepositoryInterface public function getBudgets() { $budgets = Auth::user()->budgets()->get(); + return $budgets; } @@ -287,6 +288,40 @@ class BudgetRepository implements BudgetRepositoryInterface return $sum; } + /** + * @param Budget $budget + * @param Carbon $start + * @param Carbon $end + * @param bool $shared + * + * @return float + */ + public function spentInPeriodCorrected(Budget $budget, Carbon $start, Carbon $end, $shared = true) + { + if ($shared === true) { + // get everything: + $sum = floatval($budget->transactionjournals()->before($end)->after($start)->lessThan(0)->get(['transaction_journals.*'])->sum('amount')); + } else { + // get all journals in this month where the asset account is NOT shared. + $sum = $budget->transactionjournals() + ->before($end) + ->after($start) + ->lessThan(0) + ->leftJoin('accounts', 'accounts.id', '=', 'transactions.account_id') + ->leftJoin( + 'account_meta', function (JoinClause $join) { + $join->on('account_meta.account_id', '=', 'accounts.id')->where('account_meta.name', '=', 'accountRole'); + } + ) + ->where('account_meta.data', '!=', '"sharedAsset"') + ->get(['transaction_journals.*']) + ->sum('amount'); + $sum = floatval($sum); + } + + return $sum; + } + /** * @param array $data * @@ -372,4 +407,16 @@ class BudgetRepository implements BudgetRepositoryInterface } + + /** + * @param Budget $budget + * @param Carbon $date + * + * @return float + */ + public function expensesOnDayCorrected(Budget $budget, Carbon $date) + { + $sum = floatval($budget->transactionjournals()->transactionTypes(['Withdrawal'])->onDate($date)->get(['transaction_journals.*'])->sum('amount')); + return $sum * -1; + } } diff --git a/app/Repositories/Budget/BudgetRepositoryInterface.php b/app/Repositories/Budget/BudgetRepositoryInterface.php index fc65660310..384893acef 100644 --- a/app/Repositories/Budget/BudgetRepositoryInterface.php +++ b/app/Repositories/Budget/BudgetRepositoryInterface.php @@ -34,6 +34,16 @@ interface BudgetRepositoryInterface */ public function expensesOnDay(Budget $budget, Carbon $date); + /** + * Takes tags into account. + * + * @param Budget $budget + * @param Carbon $date + * + * @return float + */ + public function expensesOnDayCorrected(Budget $budget, Carbon $date); + /** * @return Collection */ @@ -122,16 +132,30 @@ interface BudgetRepositoryInterface */ public function getWithoutBudgetSum(Carbon $start, Carbon $end); + /** - * @param Budget $budget - * @param Carbon $start - * @param Carbon $end + * @param Budget $budget + * @param Carbon $start + * @param Carbon $end * @param boolean $shared * * @return float */ public function spentInPeriod(Budget $budget, Carbon $start, Carbon $end, $shared = true); + /** + * + * Same as ::spentInPeriod but corrects journals for their amount (tags). + * + * @param Budget $budget + * @param Carbon $start + * @param Carbon $end + * @param boolean $shared + * + * @return float + */ + public function spentInPeriodCorrected(Budget $budget, Carbon $start, Carbon $end, $shared = true); + /** * @param array $data * diff --git a/app/Repositories/Category/CategoryRepository.php b/app/Repositories/Category/CategoryRepository.php index e67a9db2a8..0de670911b 100644 --- a/app/Repositories/Category/CategoryRepository.php +++ b/app/Repositories/Category/CategoryRepository.php @@ -205,6 +205,48 @@ class CategoryRepository implements CategoryRepositoryInterface return $sum; } + /** + * @param Category $category + * @param Carbon $start + * @param Carbon $end + * + * @param bool $shared + * + * @return float + */ + public function spentInPeriodCorrected(Category $category, Carbon $start, Carbon $end, $shared = false) + { + if ($shared === true) { + // shared is true. + // always ignore transfers between accounts! + $sum = floatval( + $category->transactionjournals() + ->transactionTypes(['Withdrawal']) + ->before($end)->after($start)->get(['transaction_journals.*'])->sum('amount') + ); + + } else { + // do something else, SEE budgets. + // get all journals in this month where the asset account is NOT shared. + $sum = $category->transactionjournals() + ->before($end) + ->after($start) + ->transactionTypes(['Withdrawal']) + ->lessThan(0) + ->leftJoin('accounts', 'accounts.id', '=', 'transactions.account_id') + ->leftJoin( + 'account_meta', function (JoinClause $join) { + $join->on('account_meta.account_id', '=', 'accounts.id')->where('account_meta.name', '=', 'accountRole'); + } + ) + ->where('account_meta.data', '!=', '"sharedAsset"') + ->get(['transaction_journals.*'])->sum('amount'); + $sum = floatval($sum); + } + + return $sum; + } + /** * @param Category $category * @param Carbon $date @@ -216,6 +258,18 @@ class CategoryRepository implements CategoryRepositoryInterface return floatval($category->transactionjournals()->onDate($date)->lessThan(0)->sum('amount')) * -1; } + /** + * Corrected for tags + * @param Category $category + * @param Carbon $date + * + * @return float + */ + public function spentOnDaySumCorrected(Category $category, Carbon $date) + { + return floatval($category->transactionjournals()->onDate($date)->get(['transaction_journals.*'])->sum('amount')); + } + /** * @param array $data * diff --git a/app/Repositories/Category/CategoryRepositoryInterface.php b/app/Repositories/Category/CategoryRepositoryInterface.php index 2c1355c057..d5883dd51f 100644 --- a/app/Repositories/Category/CategoryRepositoryInterface.php +++ b/app/Repositories/Category/CategoryRepositoryInterface.php @@ -81,6 +81,19 @@ interface CategoryRepositoryInterface */ public function spentInPeriod(Category $category, Carbon $start, Carbon $end, $shared = false); + /** + * Corrected for tags. + * + * @param Category $category + * @param \Carbon\Carbon $start + * @param \Carbon\Carbon $end + * + * @param bool $shared + * + * @return float + */ + public function spentInPeriodCorrected(Category $category, Carbon $start, Carbon $end, $shared = false); + /** * @param Category $category * @param Carbon $date @@ -89,6 +102,16 @@ interface CategoryRepositoryInterface */ public function spentOnDaySum(Category $category, Carbon $date); + /** + * + * Corrected for tags. + * @param Category $category + * @param Carbon $date + * + * @return float + */ + public function spentOnDaySumCorrected(Category $category, Carbon $date); + /** * @param array $data * diff --git a/app/Support/Twig/Budget.php b/app/Support/Twig/Budget.php index 046e741446..51f449a3bb 100644 --- a/app/Support/Twig/Budget.php +++ b/app/Support/Twig/Budget.php @@ -39,6 +39,21 @@ class Budget extends Twig_Extension } ); + $functions[] = new Twig_SimpleFunction( + 'spentInRepetitionCorrected', function (LimitRepetition $repetition) { + $sum = + Auth::user()->transactionjournals() + ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') + ->leftJoin('budget_limits', 'budget_limits.budget_id', '=', 'budget_transaction_journal.budget_id') + ->leftJoin('limit_repetitions', 'limit_repetitions.budget_limit_id', '=', 'budget_limits.id') + ->before($repetition->enddate) + ->after($repetition->startdate) + ->where('limit_repetitions.id', '=', $repetition->id) + ->get(['transaction_journals.*'])->sum('amount'); + return floatval($sum); + } + ); + return $functions; } From 7a0ad5a5878eb1877722ddcd77e705da11299be2 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 06:50:24 +0200 Subject: [PATCH 07/34] Fixed a chart [skip ci] --- public/js/budgets.js | 2 +- resources/twig/budgets/show.twig | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/public/js/budgets.js b/public/js/budgets.js index b4820c206d..9e189999c0 100644 --- a/public/js/budgets.js +++ b/public/js/budgets.js @@ -8,7 +8,7 @@ $(function () { if (typeof budgetID !== 'undefined' && typeof repetitionID === 'undefined') { - googleColumnChart('chart/budget/' + budgetID + '/spending', 'budgetOverview'); + googleColumnChart('chart/budget/' + budgetID, 'budgetOverview'); } if (typeof budgetID !== 'undefined' && typeof repetitionID !== 'undefined') { googleLineChart('chart/budget/' + budgetID + '/' + repetitionID, 'budgetOverview'); diff --git a/resources/twig/budgets/show.twig b/resources/twig/budgets/show.twig index 82b0b8b9a0..7ad2d0add7 100644 --- a/resources/twig/budgets/show.twig +++ b/resources/twig/budgets/show.twig @@ -51,14 +51,14 @@ Amount: {{ rep.amount|formatAmount }}
- Spent: {{ spentInRepetition(rep)|formatAmount }} + Spent: {{ spentInRepetitionCorrected(rep)|formatAmount }}
- {% set overspent = spentInRepetition(rep) > rep.amount %} + {% set overspent = spentInRepetitionCorrected(rep) > rep.amount %} {% if overspent %} - {% set spent = spentInRepetition(rep) %} + {% set spent = spentInRepetitionCorrected(rep) %} {% set pct = (spent != 0 ? (rep.amount / spent)*100 : 0) %}
@@ -66,7 +66,7 @@
{% else %} {% set amount = rep.amount %} - {% set pct = (amount != 0 ? (spentInRepetition(rep) / amount)*100 : 0) %} + {% set pct = (amount != 0 ? (spentInRepetitionCorrected(rep) / amount)*100 : 0) %}
From 95ef691077d8d4cff227d7f078c4959a7fa07a68 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 07:07:46 +0200 Subject: [PATCH 08/34] Fixed some more reports and charts. [skip ci] --- app/Helpers/Report/ReportHelper.php | 2 +- app/Helpers/Report/ReportQuery.php | 26 ++++++++++ app/Helpers/Report/ReportQueryInterface.php | 12 +++++ .../Controllers/Chart/CategoryController.php | 7 +-- app/Http/Middleware/Range.php | 6 +-- .../Category/CategoryRepository.php | 51 +++++++++++++++++-- .../Category/CategoryRepositoryInterface.php | 10 ++++ resources/lang/en/firefly.php | 1 + resources/twig/list/journals-tiny.twig | 32 +++--------- 9 files changed, 109 insertions(+), 38 deletions(-) diff --git a/app/Helpers/Report/ReportHelper.php b/app/Helpers/Report/ReportHelper.php index 2b066f726d..deefb7d899 100644 --- a/app/Helpers/Report/ReportHelper.php +++ b/app/Helpers/Report/ReportHelper.php @@ -129,7 +129,7 @@ class ReportHelper implements ReportHelperInterface $balanceEntry->setAccount($account); // get spent: - $spent = $this->query->spentInBudget($account, $budget, $start, $end); // I think shared is irrelevant. + $spent = $this->query->spentInBudgetCorrected($account, $budget, $start, $end); // I think shared is irrelevant. $balanceEntry->setSpent($spent); $line->addBalanceEntry($balanceEntry); diff --git a/app/Helpers/Report/ReportQuery.php b/app/Helpers/Report/ReportQuery.php index 83efb2fbc6..26b056e449 100644 --- a/app/Helpers/Report/ReportQuery.php +++ b/app/Helpers/Report/ReportQuery.php @@ -300,6 +300,32 @@ class ReportQuery implements ReportQueryInterface ); } + /** + * Covers tags + * + * @param Account $account + * @param Budget $budget + * @param Carbon $start + * @param Carbon $end + * + * @return float + */ + public function spentInBudgetCorrected(Account $account, Budget $budget, Carbon $start, Carbon $end) + { + + return floatval( + Auth::user()->transactionjournals() + ->leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') + ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') + ->transactionTypes(['Withdrawal']) + ->where('transactions.account_id', $account->id) + ->before($end) + ->after($start) + ->where('budget_transaction_journal.budget_id', $budget->id) + ->get(['transaction_journals.*'])->sum('amount') + ) * -1; + } + /** * @param Account $account * @param Carbon $start diff --git a/app/Helpers/Report/ReportQueryInterface.php b/app/Helpers/Report/ReportQueryInterface.php index 7d9d2e33de..1ecf9f9f21 100644 --- a/app/Helpers/Report/ReportQueryInterface.php +++ b/app/Helpers/Report/ReportQueryInterface.php @@ -89,6 +89,18 @@ interface ReportQueryInterface */ public function spentInBudget(Account $account, Budget $budget, Carbon $start, Carbon $end); + /** + * Covers tags as well. + * + * @param Account $account + * @param Budget $budget + * @param Carbon $start + * @param Carbon $end + * + * @return float + */ + public function spentInBudgetCorrected(Account $account, Budget $budget, Carbon $start, Carbon $end); + /** * @param Account $account * @param Carbon $start diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index 0d2d4a648c..21c044f762 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -78,13 +78,10 @@ class CategoryController extends Controller $start = Session::get('start', Carbon::now()->startOfMonth()); $end = Session::get('end', Carbon::now()->endOfMonth()); - $set = $repository->getCategoriesAndExpenses($start, $end); + $set = $repository->getCategoriesAndExpensesCorrected($start, $end); foreach ($set as $entry) { - $isEncrypted = intval($entry->encrypted) == 1 ? true : false; - $name = strlen($entry->name) == 0 ? trans('firefly.noCategory') : $entry->name; - $name = $isEncrypted ? Crypt::decrypt($name) : $name; - $chart->addRow($name, floatval($entry->sum)); + $chart->addRow($entry['name'], floatval($entry['sum'])); } $chart->generate(); diff --git a/app/Http/Middleware/Range.php b/app/Http/Middleware/Range.php index 9faf2b4e00..ac0c05ac76 100644 --- a/app/Http/Middleware/Range.php +++ b/app/Http/Middleware/Range.php @@ -73,9 +73,9 @@ class Range Session::put('first', Carbon::now()->startOfYear()); } } - $current = Carbon::now()->format('F Y'); - $next = Carbon::now()->endOfMonth()->addDay()->format('F Y'); - $prev = Carbon::now()->startOfMonth()->subDay()->format('F Y'); + $current = Carbon::now()->formatLocalized('%B %Y'); + $next = Carbon::now()->endOfMonth()->addDay()->formatLocalized('%B %Y'); + $prev = Carbon::now()->startOfMonth()->subDay()->formatLocalized('%B %Y'); View::share('currentMonthName', $current); View::share('previousMonthName', $prev); View::share('nextMonthName', $next); diff --git a/app/Repositories/Category/CategoryRepository.php b/app/Repositories/Category/CategoryRepository.php index 0de670911b..91c6c7f889 100644 --- a/app/Repositories/Category/CategoryRepository.php +++ b/app/Repositories/Category/CategoryRepository.php @@ -4,6 +4,7 @@ namespace FireflyIII\Repositories\Category; use Auth; use Carbon\Carbon; +use Crypt; use DB; use FireflyIII\Models\Category; use FireflyIII\Models\TransactionJournal; @@ -87,6 +88,47 @@ class CategoryRepository implements CategoryRepositoryInterface ->get(['categories.id', 'categories.encrypted', 'categories.name', DB::Raw('SUM(`transactions`.`amount`) AS `sum`')]); } + /** + * + * @param Carbon $start + * @param Carbon $end + * + * @return Collection + */ + public function getCategoriesAndExpensesCorrected($start, $end) + { + $set = Auth::user()->transactionjournals() + ->leftJoin( + 'category_transaction_journal', 'category_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id' + ) + ->leftJoin('categories', 'categories.id', '=', 'category_transaction_journal.category_id') + ->before($end) + ->where('categories.user_id', Auth::user()->id) + ->after($start) + ->transactionTypes(['Withdrawal']) + ->groupBy('categories.id') + ->get(['categories.id as category_id', 'categories.encrypted', 'categories.name', 'transaction_journals.*']); + + $result = []; + foreach ($set as $entry) { + $categoryId = intval($entry->category_id); + if (isset($result[$categoryId])) { + $result[$categoryId]['sum'] += $entry->amount; + } else { + $isEncrypted = intval($entry->encrypted) == 1 ? true : false; + $name = strlen($entry->name) == 0 ? trans('firefly.noCategory') : $entry->name; + $name = $isEncrypted ? Crypt::decrypt($name) : $name; + $result[$categoryId] = [ + 'name' => $name, + 'sum' => $entry->amount, + ]; + + } + } + + return $result; + } + /** * @param Category $category * @@ -220,10 +262,10 @@ class CategoryRepository implements CategoryRepositoryInterface // shared is true. // always ignore transfers between accounts! $sum = floatval( - $category->transactionjournals() - ->transactionTypes(['Withdrawal']) - ->before($end)->after($start)->get(['transaction_journals.*'])->sum('amount') - ); + $category->transactionjournals() + ->transactionTypes(['Withdrawal']) + ->before($end)->after($start)->get(['transaction_journals.*'])->sum('amount') + ); } else { // do something else, SEE budgets. @@ -260,6 +302,7 @@ class CategoryRepository implements CategoryRepositoryInterface /** * Corrected for tags + * * @param Category $category * @param Carbon $date * diff --git a/app/Repositories/Category/CategoryRepositoryInterface.php b/app/Repositories/Category/CategoryRepositoryInterface.php index d5883dd51f..23425b5ff7 100644 --- a/app/Repositories/Category/CategoryRepositoryInterface.php +++ b/app/Repositories/Category/CategoryRepositoryInterface.php @@ -40,6 +40,16 @@ interface CategoryRepositoryInterface */ public function getCategoriesAndExpenses($start, $end); + /** + * Corrected for tags. + * + * @param Carbon $start + * @param Carbon $end + * + * @return Collection + */ + public function getCategoriesAndExpensesCorrected($start, $end); + /** * @param Category $category * diff --git a/resources/lang/en/firefly.php b/resources/lang/en/firefly.php index f4150d4695..990dd4a344 100644 --- a/resources/lang/en/firefly.php +++ b/resources/lang/en/firefly.php @@ -108,6 +108,7 @@ return [ 'splitByAccount' => 'Split by account', 'balancedByTransfersAndTags' => 'Balanced by transfers and tags', + 'coveredWithTags' => 'Covered with tags', 'leftUnbalanced' => 'Left unbalanced', 'expectedBalance' => 'Expected balance', 'outsideOfBudgets' => 'Outside of budgets', diff --git a/resources/twig/list/journals-tiny.twig b/resources/twig/list/journals-tiny.twig index db5f0b04a4..e2c24b72db 100644 --- a/resources/twig/list/journals-tiny.twig +++ b/resources/twig/list/journals-tiny.twig @@ -1,37 +1,19 @@ From 9e54eecfaa468ae6b1583e167bdbc0a9057dac56 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 07:20:02 +0200 Subject: [PATCH 09/34] Fixed some views. --- app/Helpers/Collection/Expense.php | 4 +- app/Helpers/Collection/Income.php | 4 +- app/Helpers/Report/ReportHelper.php | 8 +-- app/Helpers/Report/ReportQuery.php | 54 ++++++++++++++----- resources/twig/partials/reports/expenses.twig | 4 +- 5 files changed, 52 insertions(+), 22 deletions(-) diff --git a/app/Helpers/Collection/Expense.php b/app/Helpers/Collection/Expense.php index 3c0d908ab6..65f254b38d 100644 --- a/app/Helpers/Collection/Expense.php +++ b/app/Helpers/Collection/Expense.php @@ -37,14 +37,14 @@ class Expense $accountId = $entry->account_id; if (!$this->expenses->has($accountId)) { $newObject = new stdClass; - $newObject->amount = floatval($entry->queryAmount); + $newObject->amount = floatval($entry->amount); $newObject->name = $entry->name; $newObject->count = 1; $newObject->id = $accountId; $this->expenses->put($accountId, $newObject); } else { $existing = $this->expenses->get($accountId); - $existing->amount += floatval($entry->queryAmount); + $existing->amount += floatval($entry->amount); $existing->count++; $this->expenses->put($accountId, $existing); } diff --git a/app/Helpers/Collection/Income.php b/app/Helpers/Collection/Income.php index c3e60e0cf7..420105209a 100644 --- a/app/Helpers/Collection/Income.php +++ b/app/Helpers/Collection/Income.php @@ -38,14 +38,14 @@ class Income $accountId = $entry->account_id; if (!$this->incomes->has($accountId)) { $newObject = new stdClass; - $newObject->amount = floatval($entry->queryAmount); + $newObject->amount = floatval($entry->amount); $newObject->name = $entry->name; $newObject->count = 1; $newObject->id = $accountId; $this->incomes->put($accountId, $newObject); } else { $existing = $this->incomes->get($accountId); - $existing->amount += floatval($entry->queryAmount); + $existing->amount += floatval($entry->amount); $existing->count++; $this->incomes->put($accountId, $existing); } diff --git a/app/Helpers/Report/ReportHelper.php b/app/Helpers/Report/ReportHelper.php index deefb7d899..0329bf1dbe 100644 --- a/app/Helpers/Report/ReportHelper.php +++ b/app/Helpers/Report/ReportHelper.php @@ -332,9 +332,9 @@ class ReportHelper implements ReportHelperInterface public function getExpenseReport($start, $end, $shared) { $object = new Expense; - $set = $this->query->expenseInPeriod($start, $end, $shared); + $set = $this->query->expenseInPeriodCorrected($start, $end, $shared); foreach ($set as $entry) { - $object->addToTotal($entry->queryAmount); + $object->addToTotal($entry->amount); $object->addOrCreateExpense($entry); } @@ -353,9 +353,9 @@ class ReportHelper implements ReportHelperInterface public function getIncomeReport($start, $end, $shared) { $object = new Income; - $set = $this->query->incomeInPeriod($start, $end, $shared); + $set = $this->query->incomeInPeriodCorrected($start, $end, $shared); foreach ($set as $entry) { - $object->addToTotal($entry->queryAmount); + $object->addToTotal($entry->amount); $object->addOrCreateIncome($entry); } diff --git a/app/Helpers/Report/ReportQuery.php b/app/Helpers/Report/ReportQuery.php index 26b056e449..851968d08f 100644 --- a/app/Helpers/Report/ReportQuery.php +++ b/app/Helpers/Report/ReportQuery.php @@ -113,7 +113,22 @@ class ReportQuery implements ReportQueryInterface $query->orderBy('transaction_journals.date'); // get everything - $data = $query->get(['transaction_journals.*',]); + $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_from.name as name', 'ac_from.encrypted as account_encrypted']); + + $data->each( + function (TransactionJournal $journal) { + if (intval($journal->account_encrypted) == 1) { + $journal->name = Crypt::decrypt($journal->name); + } + } + ); + $data = $data->filter( + function (TransactionJournal $journal) { + if ($journal->amount != 0) { + return $journal; + } + } + ); return $data; } @@ -270,7 +285,22 @@ class ReportQuery implements ReportQueryInterface $query->orderBy('transaction_journals.date'); // get everything - $data = $query->get(['transaction_journals.*',]); + $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_from.name as name', 'ac_from.encrypted as account_encrypted']); + + $data->each( + function (TransactionJournal $journal) { + if (intval($journal->account_encrypted) == 1) { + $journal->name = Crypt::decrypt($journal->name); + } + } + ); + $data = $data->filter( + function (TransactionJournal $journal) { + if ($journal->amount != 0) { + return $journal; + } + } + ); return $data; } @@ -314,16 +344,16 @@ class ReportQuery implements ReportQueryInterface { return floatval( - Auth::user()->transactionjournals() - ->leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') - ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') - ->transactionTypes(['Withdrawal']) - ->where('transactions.account_id', $account->id) - ->before($end) - ->after($start) - ->where('budget_transaction_journal.budget_id', $budget->id) - ->get(['transaction_journals.*'])->sum('amount') - ) * -1; + Auth::user()->transactionjournals() + ->leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') + ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') + ->transactionTypes(['Withdrawal']) + ->where('transactions.account_id', $account->id) + ->before($end) + ->after($start) + ->where('budget_transaction_journal.budget_id', $budget->id) + ->get(['transaction_journals.*'])->sum('amount') + ) * -1; } /** diff --git a/resources/twig/partials/reports/expenses.twig b/resources/twig/partials/reports/expenses.twig index c4e588e731..ad9176e878 100644 --- a/resources/twig/partials/reports/expenses.twig +++ b/resources/twig/partials/reports/expenses.twig @@ -16,7 +16,7 @@
{{ expense.count }} {{ 'transactions'|_|lower }} {% endif %} - {{ (expense.amount*-1)|formatAmountPlain }} + {{ (expense.amount)|formatAmountPlain }} {% endfor %} {% if expenses.getExpenses|length > expenseTopLength %} @@ -28,7 +28,7 @@ {% endif %} {{ 'sum'|_ }} - {{ (expenses.getTotal * -1)|formatAmountPlain }} + {{ (expenses.getTotal)|formatAmountPlain }}
\ No newline at end of file From 8a2ac457c227bc9b4530982522fc26181c505eae Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 07:21:01 +0200 Subject: [PATCH 10/34] Name fix [skip ci] --- app/Helpers/Report/ReportQuery.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Helpers/Report/ReportQuery.php b/app/Helpers/Report/ReportQuery.php index 851968d08f..9e51d908e8 100644 --- a/app/Helpers/Report/ReportQuery.php +++ b/app/Helpers/Report/ReportQuery.php @@ -113,7 +113,7 @@ class ReportQuery implements ReportQueryInterface $query->orderBy('transaction_journals.date'); // get everything - $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_from.name as name', 'ac_from.encrypted as account_encrypted']); + $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_to.name as name', 'ac_to.encrypted as account_encrypted']); $data->each( function (TransactionJournal $journal) { From f07e4dc711d782d00cb12c33099e32eccda68495 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 07:21:40 +0200 Subject: [PATCH 11/34] Fix sort. [skip ci] --- app/Helpers/Collection/Expense.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Helpers/Collection/Expense.php b/app/Helpers/Collection/Expense.php index 65f254b38d..24e93d557c 100644 --- a/app/Helpers/Collection/Expense.php +++ b/app/Helpers/Collection/Expense.php @@ -63,7 +63,7 @@ class Expense */ public function getExpenses() { - $this->expenses->sortBy( + $this->expenses->sortByDesc( function (stdClass $object) { return $object->amount; } From 29652108f088ea741c38f1453e9b24dfdaa583d7 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 17:04:53 +0200 Subject: [PATCH 12/34] Fixed tests. --- tests/controllers/BudgetControllerTest.php | 2 +- tests/controllers/JsonControllerTest.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/controllers/BudgetControllerTest.php b/tests/controllers/BudgetControllerTest.php index 6fd167c1e4..cda4cadd0f 100644 --- a/tests/controllers/BudgetControllerTest.php +++ b/tests/controllers/BudgetControllerTest.php @@ -113,7 +113,7 @@ class BudgetControllerTest extends TestCase $repository->shouldReceive('getActiveBudgets')->once()->andReturn($collection); $repository->shouldReceive('getInactiveBudgets')->once()->andReturn($collection); $repository->shouldReceive('cleanupBudgets')->once(); - $repository->shouldReceive('spentInPeriod')->once(); + $repository->shouldReceive('spentInPeriodCorrected')->once(); $repository->shouldReceive('getCurrentRepetition')->once(); Amount::shouldReceive('getCurrencySymbol')->andReturn('x'); Amount::shouldReceive('format')->andReturn('x'); diff --git a/tests/controllers/JsonControllerTest.php b/tests/controllers/JsonControllerTest.php index ad7cc96030..d88e55f368 100644 --- a/tests/controllers/JsonControllerTest.php +++ b/tests/controllers/JsonControllerTest.php @@ -98,7 +98,7 @@ class JsonControllerTest extends TestCase $this->be($user); $repository = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); - $repository->shouldReceive('incomeInPeriod')->andReturn(new Collection); + $repository->shouldReceive('incomeInPeriodCorrected')->andReturn(new Collection); Amount::shouldReceive('format')->andReturn('xx'); Amount::shouldReceive('getCurrencyCode')->andReturn('X'); @@ -112,7 +112,7 @@ class JsonControllerTest extends TestCase $this->be($user); $repository = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); - $repository->shouldReceive('expenseInPeriod')->andReturn(new Collection); + $repository->shouldReceive('expenseInPeriodCorrected')->andReturn(new Collection); Amount::shouldReceive('format')->andReturn('xx'); Amount::shouldReceive('getCurrencyCode')->andReturn('X'); From 568ab26db170ec5b07d38223bc5052b706d0d7da Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 17:06:47 +0200 Subject: [PATCH 13/34] Spell check [skip ci] --- resources/lang/en/form.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/en/form.php b/resources/lang/en/form.php index 9d4e273217..5735e1453e 100644 --- a/resources/lang/en/form.php +++ b/resources/lang/en/form.php @@ -13,7 +13,7 @@ return [ 'openingBalance' => 'Opening balance', 'tagMode' => 'Tag mode', 'tagPosition' => 'Tag location', - 'virtualBalance' => 'Vitual balance', + 'virtualBalance' => 'Virtual balance', 'longitude_latitude' => 'Location', 'targetamount' => 'Target amount', 'accountRole' => 'Account role', From 411f77fd29cb039473c005e0878f3667711722ee Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 18:09:44 +0200 Subject: [PATCH 14/34] Fixed some other displays of money --- .../Controllers/Chart/CategoryController.php | 5 +++- app/Http/Controllers/TagController.php | 2 +- app/Models/TransactionJournal.php | 27 +++++++++++++++---- resources/twig/list/journals-tiny.twig | 2 -- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index 21c044f762..29a3610556 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -81,7 +81,10 @@ class CategoryController extends Controller $set = $repository->getCategoriesAndExpensesCorrected($start, $end); foreach ($set as $entry) { - $chart->addRow($entry['name'], floatval($entry['sum'])); + $sum = floatval($entry['sum']); + if($sum != 0) { + $chart->addRow($entry['name'], $sum); + } } $chart->generate(); diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php index 90cd841829..09a65833d7 100644 --- a/app/Http/Controllers/TagController.php +++ b/app/Http/Controllers/TagController.php @@ -133,7 +133,7 @@ class TagController extends Controller * changes to an advancePayment. */ - if ($tag->tagMode == 'balancingAct') { + if ($tag->tagMode == 'balancingAct' || $tag->tagMode == 'nothing') { foreach ($tag->transactionjournals as $journal) { if ($journal->transactionType->type == 'Transfer') { $allowToAdvancePayment = false; diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php index 80cc0b0c26..b65b400f64 100644 --- a/app/Models/TransactionJournal.php +++ b/app/Models/TransactionJournal.php @@ -96,12 +96,12 @@ class TransactionJournal extends Model } // if journal is part of advancePayment AND journal is a withdrawal, // then journal is being repaid by other journals, so the actual amount will lower: - /** @var Tag $tag */ - $tag = $this->tags()->where('tagMode', 'advancePayment')->first(); - if ($tag && $this->transactionType->type == 'Withdrawal') { + /** @var Tag $advancePayment */ + $advancePayment = $this->tags()->where('tagMode', 'advancePayment')->first(); + if ($advancePayment && $this->transactionType->type == 'Withdrawal') { // loop other deposits, remove from our amount. - $others = $tag->transactionJournals()->transactionTypes(['Deposit'])->get(); + $others = $advancePayment->transactionJournals()->transactionTypes(['Deposit'])->get(); foreach ($others as $other) { $amount -= $other->actualAmount; } @@ -111,10 +111,27 @@ class TransactionJournal extends Model // if this journal is part of an advancePayment AND the journal is a deposit, // then the journal amount is correcting a withdrawal, and the amount is zero: - if ($tag && $this->transactionType->type == 'Deposit') { + if ($advancePayment && $this->transactionType->type == 'Deposit') { return 0; } + + // is balancing act? + $balancingAct = $this->tags()->where('tagMode', 'balancingAct')->first(); + if ($balancingAct) { + // this is the transfer + + // this is the expense: + if ($this->transactionType->type == 'Withdrawal') { + $transfer = $balancingAct->transactionJournals()->transactionTypes(['Transfer'])->first(); + if ($transfer) { + $amount -= $transfer->actualAmount; + + return $amount; + } + } + } + return $amount; } diff --git a/resources/twig/list/journals-tiny.twig b/resources/twig/list/journals-tiny.twig index e2c24b72db..664e8323f7 100644 --- a/resources/twig/list/journals-tiny.twig +++ b/resources/twig/list/journals-tiny.twig @@ -1,6 +1,5 @@
{% for journal in transactions %} - {% if journal.amount != 0 %} @@ -14,6 +13,5 @@ - {% endif %} {% endfor %}
From 7645005d5a220a405f8129031d12c51d943b03c9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 18:18:05 +0200 Subject: [PATCH 15/34] Return of account id. --- app/Helpers/Report/ReportQuery.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Helpers/Report/ReportQuery.php b/app/Helpers/Report/ReportQuery.php index 9e51d908e8..63432c86f2 100644 --- a/app/Helpers/Report/ReportQuery.php +++ b/app/Helpers/Report/ReportQuery.php @@ -113,7 +113,7 @@ class ReportQuery implements ReportQueryInterface $query->orderBy('transaction_journals.date'); // get everything - $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_to.name as name', 'ac_to.encrypted as account_encrypted']); + $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_to.name as name','ac_to.id as account_id', 'ac_to.encrypted as account_encrypted']); $data->each( function (TransactionJournal $journal) { @@ -285,7 +285,7 @@ class ReportQuery implements ReportQueryInterface $query->orderBy('transaction_journals.date'); // get everything - $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_from.name as name', 'ac_from.encrypted as account_encrypted']); + $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_from.name as name','ac_from.id as account_id', 'ac_from.encrypted as account_encrypted']); $data->each( function (TransactionJournal $journal) { From b1d3158db1b866396f5e86f148ff2ca8862997a7 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 19:55:53 +0200 Subject: [PATCH 16/34] Code cleanup. --- app/Helpers/Collection/Balance.php | 3 +- app/Helpers/Collection/BalanceEntry.php | 37 ++++++++----------- app/Helpers/Collection/BalanceHeader.php | 1 - app/Helpers/Collection/Bill.php | 5 ++- app/Helpers/Collection/Budget.php | 19 +++++----- app/Helpers/Collection/BudgetLine.php | 10 ++--- app/Helpers/Report/ReportQuery.php | 8 +++- app/Http/Controllers/BillController.php | 1 - .../Controllers/Chart/BudgetController.php | 3 +- .../Controllers/Chart/CategoryController.php | 5 +-- app/Http/routes.php | 6 ++- .../Account/AccountRepository.php | 2 +- .../Account/AccountRepositoryInterface.php | 2 +- app/Repositories/Budget/BudgetRepository.php | 1 + .../Category/CategoryRepositoryInterface.php | 1 + .../PiggyBank/PiggyBankRepository.php | 1 - app/Support/ExpandedForm.php | 3 +- app/Support/Twig/Budget.php | 19 +++++----- app/Support/Twig/Journal.php | 3 ++ 19 files changed, 65 insertions(+), 65 deletions(-) diff --git a/app/Helpers/Collection/Balance.php b/app/Helpers/Collection/Balance.php index cbafe987ce..34258fc88f 100644 --- a/app/Helpers/Collection/Balance.php +++ b/app/Helpers/Collection/Balance.php @@ -1,6 +1,7 @@ account = $account; } - /** - * @return float - */ - public function getSpent() - { - return $this->spent; - } - - /** - * @param float $spent - */ - public function setSpent($spent) - { - $this->spent = $spent; - } - /** * @return float */ @@ -73,7 +54,21 @@ class BalanceEntry $this->left = $left; } + /** + * @return float + */ + public function getSpent() + { + return $this->spent; + } + /** + * @param float $spent + */ + public function setSpent($spent) + { + $this->spent = $spent; + } } \ No newline at end of file diff --git a/app/Helpers/Collection/BalanceHeader.php b/app/Helpers/Collection/BalanceHeader.php index 3563420408..5c0f46c72a 100644 --- a/app/Helpers/Collection/BalanceHeader.php +++ b/app/Helpers/Collection/BalanceHeader.php @@ -43,5 +43,4 @@ class BalanceHeader } - } \ No newline at end of file diff --git a/app/Helpers/Collection/Bill.php b/app/Helpers/Collection/Bill.php index 973b886482..28a0036244 100644 --- a/app/Helpers/Collection/Bill.php +++ b/app/Helpers/Collection/Bill.php @@ -43,8 +43,9 @@ class Bill $this->bills->sortBy( function (BillLine $bill) { $active = intval($bill->getBill()->active) == 0 ? 1 : 0; - $name = $bill->getBill()->name; - return $active.$name; + $name = $bill->getBill()->name; + + return $active . $name; } ); diff --git a/app/Helpers/Collection/Budget.php b/app/Helpers/Collection/Budget.php index 7cd5e1f3fa..c551505b78 100644 --- a/app/Helpers/Collection/Budget.php +++ b/app/Helpers/Collection/Budget.php @@ -1,6 +1,7 @@ spent += floatval($add); } + /** + * @return \Illuminate\Support\Collection + */ + public function getBudgetLines() + { + return $this->budgetLines; + } + /** * @return float */ @@ -135,15 +144,5 @@ class Budget $this->spent = $spent; } - /** - * @return \Illuminate\Support\Collection - */ - public function getBudgetLines() - { - return $this->budgetLines; - } - - - } \ No newline at end of file diff --git a/app/Helpers/Collection/BudgetLine.php b/app/Helpers/Collection/BudgetLine.php index a950ed088f..7c5f48e16c 100644 --- a/app/Helpers/Collection/BudgetLine.php +++ b/app/Helpers/Collection/BudgetLine.php @@ -22,13 +22,13 @@ class BudgetLine protected $repetition; /** @var float */ - protected $budgeted = 0; + protected $budgeted = 0; /** @var float */ - protected $left = 0; + protected $left = 0; /** @var float */ protected $overspent = 0; /** @var float */ - protected $spent = 0; + protected $spent = 0; /** * @return BudgetModel @@ -127,8 +127,4 @@ class BudgetLine } - - - - } \ No newline at end of file diff --git a/app/Helpers/Report/ReportQuery.php b/app/Helpers/Report/ReportQuery.php index 63432c86f2..a2fd5ee077 100644 --- a/app/Helpers/Report/ReportQuery.php +++ b/app/Helpers/Report/ReportQuery.php @@ -113,7 +113,9 @@ class ReportQuery implements ReportQueryInterface $query->orderBy('transaction_journals.date'); // get everything - $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_to.name as name','ac_to.id as account_id', 'ac_to.encrypted as account_encrypted']); + $data = $query->get( + ['transaction_journals.*', 'transaction_types.type', 'ac_to.name as name', 'ac_to.id as account_id', 'ac_to.encrypted as account_encrypted'] + ); $data->each( function (TransactionJournal $journal) { @@ -285,7 +287,9 @@ class ReportQuery implements ReportQueryInterface $query->orderBy('transaction_journals.date'); // get everything - $data = $query->get(['transaction_journals.*', 'transaction_types.type', 'ac_from.name as name','ac_from.id as account_id', 'ac_from.encrypted as account_encrypted']); + $data = $query->get( + ['transaction_journals.*', 'transaction_types.type', 'ac_from.name as name', 'ac_from.id as account_id', 'ac_from.encrypted as account_encrypted'] + ); $data->each( function (TransactionJournal $journal) { diff --git a/app/Http/Controllers/BillController.php b/app/Http/Controllers/BillController.php index a2877aa940..a5ea27d221 100644 --- a/app/Http/Controllers/BillController.php +++ b/app/Http/Controllers/BillController.php @@ -7,7 +7,6 @@ use FireflyIII\Models\Account; use FireflyIII\Models\Bill; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; -use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Bill\BillRepositoryInterface; use Input; use Redirect; diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php index 4de38a9199..d5ca79286c 100644 --- a/app/Http/Controllers/Chart/BudgetController.php +++ b/app/Http/Controllers/Chart/BudgetController.php @@ -28,7 +28,7 @@ class BudgetController extends Controller */ public function budget(GChart $chart, BudgetRepositoryInterface $repository, Budget $budget) { - $chart->addColumn(trans('firefly.period'),'date'); + $chart->addColumn(trans('firefly.period'), 'date'); $chart->addColumn(trans('firefly.spent'), 'number'); @@ -50,6 +50,7 @@ class BudgetController extends Controller } $chart->generate(); + return Response::json($chart->getData()); } diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index 29a3610556..b7c45506c1 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -4,7 +4,6 @@ namespace FireflyIII\Http\Controllers\Chart; use Carbon\Carbon; -use Crypt; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Models\Category; use FireflyIII\Models\LimitRepetition; @@ -82,8 +81,8 @@ class CategoryController extends Controller foreach ($set as $entry) { $sum = floatval($entry['sum']); - if($sum != 0) { - $chart->addRow($entry['name'], $sum); + if ($sum != 0) { + $chart->addRow($entry['name'], $sum); } } diff --git a/app/Http/routes.php b/app/Http/routes.php index e232d5172f..1987fbd585 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -188,7 +188,7 @@ Route::get('/register', ['uses' => 'Auth\AuthController@getRegister', 'as' => 'r Route::controllers( [ - 'auth' => 'Auth\AuthController', + 'auth' => 'Auth\AuthController', 'password' => 'Auth\PasswordController', ] ); @@ -276,7 +276,9 @@ Route::group( */ // accounts: Route::get('/chart/account/frontpage', ['uses' => 'Chart\AccountController@frontpage']); - Route::get('/chart/account/month/{year}/{month}/{shared?}', ['uses' => 'Chart\AccountController@all'])->where(['year' => '[0-9]{4}', 'month' => '[0-9]{1,2}', 'shared' => 'shared']); + Route::get('/chart/account/month/{year}/{month}/{shared?}', ['uses' => 'Chart\AccountController@all'])->where( + ['year' => '[0-9]{4}', 'month' => '[0-9]{1,2}', 'shared' => 'shared'] + ); Route::get('/chart/account/{account}', ['uses' => 'Chart\AccountController@single']); diff --git a/app/Repositories/Account/AccountRepository.php b/app/Repositories/Account/AccountRepository.php index b5e7cfcd31..c8ff2053eb 100644 --- a/app/Repositories/Account/AccountRepository.php +++ b/app/Repositories/Account/AccountRepository.php @@ -306,7 +306,7 @@ class AccountRepository implements AccountRepositoryInterface /** * @param Account $account - * @param Carbon $date + * @param Carbon $date * * @return float */ diff --git a/app/Repositories/Account/AccountRepositoryInterface.php b/app/Repositories/Account/AccountRepositoryInterface.php index 1a25f120d5..605f8c15c2 100644 --- a/app/Repositories/Account/AccountRepositoryInterface.php +++ b/app/Repositories/Account/AccountRepositoryInterface.php @@ -115,7 +115,7 @@ interface AccountRepositoryInterface /** * @param Account $account - * @param Carbon $date + * @param Carbon $date * * @return float */ diff --git a/app/Repositories/Budget/BudgetRepository.php b/app/Repositories/Budget/BudgetRepository.php index 6a0dc8a9d8..3d35eff2a0 100644 --- a/app/Repositories/Budget/BudgetRepository.php +++ b/app/Repositories/Budget/BudgetRepository.php @@ -417,6 +417,7 @@ class BudgetRepository implements BudgetRepositoryInterface public function expensesOnDayCorrected(Budget $budget, Carbon $date) { $sum = floatval($budget->transactionjournals()->transactionTypes(['Withdrawal'])->onDate($date)->get(['transaction_journals.*'])->sum('amount')); + return $sum * -1; } } diff --git a/app/Repositories/Category/CategoryRepositoryInterface.php b/app/Repositories/Category/CategoryRepositoryInterface.php index 23425b5ff7..9f282c84fe 100644 --- a/app/Repositories/Category/CategoryRepositoryInterface.php +++ b/app/Repositories/Category/CategoryRepositoryInterface.php @@ -115,6 +115,7 @@ interface CategoryRepositoryInterface /** * * Corrected for tags. + * * @param Category $category * @param Carbon $date * diff --git a/app/Repositories/PiggyBank/PiggyBankRepository.php b/app/Repositories/PiggyBank/PiggyBankRepository.php index ab4ad796b3..cc847817b7 100644 --- a/app/Repositories/PiggyBank/PiggyBankRepository.php +++ b/app/Repositories/PiggyBank/PiggyBankRepository.php @@ -9,7 +9,6 @@ use FireflyIII\Models\PiggyBank; use FireflyIII\Models\PiggyBankEvent; use FireflyIII\Models\PiggyBankRepetition; use Illuminate\Support\Collection; -use Navigation; /** * Class PiggyBankRepository diff --git a/app/Support/ExpandedForm.php b/app/Support/ExpandedForm.php index 750a0edd84..e117e7ba1b 100644 --- a/app/Support/ExpandedForm.php +++ b/app/Support/ExpandedForm.php @@ -51,7 +51,8 @@ class ExpandedForm if (isset($options['label'])) { return $options['label']; } - return trans('form.'.$name); + + return trans('form.' . $name); } diff --git a/app/Support/Twig/Budget.php b/app/Support/Twig/Budget.php index 51f449a3bb..787f14bd39 100644 --- a/app/Support/Twig/Budget.php +++ b/app/Support/Twig/Budget.php @@ -41,15 +41,16 @@ class Budget extends Twig_Extension $functions[] = new Twig_SimpleFunction( 'spentInRepetitionCorrected', function (LimitRepetition $repetition) { - $sum = - Auth::user()->transactionjournals() - ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') - ->leftJoin('budget_limits', 'budget_limits.budget_id', '=', 'budget_transaction_journal.budget_id') - ->leftJoin('limit_repetitions', 'limit_repetitions.budget_limit_id', '=', 'budget_limits.id') - ->before($repetition->enddate) - ->after($repetition->startdate) - ->where('limit_repetitions.id', '=', $repetition->id) - ->get(['transaction_journals.*'])->sum('amount'); + $sum + = Auth::user()->transactionjournals() + ->leftJoin('budget_transaction_journal', 'budget_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id') + ->leftJoin('budget_limits', 'budget_limits.budget_id', '=', 'budget_transaction_journal.budget_id') + ->leftJoin('limit_repetitions', 'limit_repetitions.budget_limit_id', '=', 'budget_limits.id') + ->before($repetition->enddate) + ->after($repetition->startdate) + ->where('limit_repetitions.id', '=', $repetition->id) + ->get(['transaction_journals.*'])->sum('amount'); + return floatval($sum); } ); diff --git a/app/Support/Twig/Journal.php b/app/Support/Twig/Journal.php index 299cdaf6d6..a77e29692b 100644 --- a/app/Support/Twig/Journal.php +++ b/app/Support/Twig/Journal.php @@ -85,6 +85,7 @@ class Journal extends Twig_Extension // return tag formatted for a "balancing act", even if other // tags are present. $amount = App::make('amount')->formatJournal($journal, false); + return ' ' . $tag->tag . ''; } @@ -94,6 +95,7 @@ class Journal extends Twig_Extension */ if ($tag->tagMode == 'advancePayment' && $journal->transactionType->type == 'Deposit') { $amount = App::make('amount')->formatJournal($journal, false); + return ' ' . $tag->tag . ''; } @@ -103,6 +105,7 @@ class Journal extends Twig_Extension */ if ($tag->tagMode == 'advancePayment' && $journal->transactionType->type == 'Withdrawal') { $amount = App::make('amount')->formatJournal($journal); + return '' . $amount . ''; } From 8f104d555ad0b4d5e36324b9a508db3be8da122d Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 19:56:14 +0200 Subject: [PATCH 17/34] Added newlines to files. --- app/Helpers/Collection/Account.php | 2 +- app/Helpers/Collection/Balance.php | 2 +- app/Helpers/Collection/BalanceEntry.php | 2 +- app/Helpers/Collection/BalanceHeader.php | 2 +- app/Helpers/Collection/BalanceLine.php | 2 +- app/Helpers/Collection/Bill.php | 2 +- app/Helpers/Collection/BillLine.php | 2 +- app/Helpers/Collection/Budget.php | 2 +- app/Helpers/Collection/BudgetLine.php | 2 +- app/Helpers/Collection/Category.php | 2 +- app/Helpers/Collection/Expense.php | 2 +- app/Helpers/Collection/Income.php | 2 +- app/Http/Controllers/Chart/AccountController.php | 2 +- app/Http/Controllers/Chart/BillController.php | 2 +- app/Http/Controllers/Chart/BudgetController.php | 2 +- app/Http/Controllers/Chart/CategoryController.php | 2 +- app/Http/Controllers/Chart/PiggyBankController.php | 2 +- app/Http/Controllers/Chart/ReportController.php | 2 +- resources/lang/en/breadcrumbs.php | 2 +- resources/lang/en/form.php | 2 +- resources/lang/en/list.php | 2 +- resources/lang/nl/breadcrumbs.php | 2 +- resources/lang/nl/form.php | 2 +- resources/lang/nl/list.php | 2 +- resources/twig/partials/reports/accounts.twig | 2 +- resources/twig/partials/reports/balance.twig | 2 +- resources/twig/partials/reports/bills.twig | 2 +- resources/twig/partials/reports/budgets.twig | 2 +- resources/twig/partials/reports/categories.twig | 2 +- resources/twig/partials/reports/expenses.twig | 2 +- resources/twig/partials/reports/income-vs-expenses.twig | 2 +- resources/twig/partials/reports/income.twig | 2 +- tests/controllers/charts/ChartAccountControllerTest.php | 2 +- tests/controllers/charts/ChartBillControllerTest.php | 2 +- tests/controllers/charts/ChartBudgetControllerTest.php | 2 +- tests/controllers/charts/ChartCategoryControllerTest.php | 2 +- tests/controllers/charts/ChartPiggyBankControllerTest.php | 2 +- tests/controllers/charts/ChartReportControllerTest.php | 2 +- tests/helpers/ConnectJournalToPiggyBankTest.php | 2 +- tests/helpers/ReminderHelperTest.php | 2 +- tests/helpers/ReportHelperTest.php | 2 +- tests/helpers/ReportQueryTest.php | 2 +- 42 files changed, 42 insertions(+), 42 deletions(-) diff --git a/app/Helpers/Collection/Account.php b/app/Helpers/Collection/Account.php index ad227fdea2..1906c651db 100644 --- a/app/Helpers/Collection/Account.php +++ b/app/Helpers/Collection/Account.php @@ -87,4 +87,4 @@ class Account } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/Balance.php b/app/Helpers/Collection/Balance.php index 34258fc88f..48d8433c2f 100644 --- a/app/Helpers/Collection/Balance.php +++ b/app/Helpers/Collection/Balance.php @@ -61,4 +61,4 @@ class Balance } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/BalanceEntry.php b/app/Helpers/Collection/BalanceEntry.php index 5f39869920..7749226b82 100644 --- a/app/Helpers/Collection/BalanceEntry.php +++ b/app/Helpers/Collection/BalanceEntry.php @@ -71,4 +71,4 @@ class BalanceEntry } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/BalanceHeader.php b/app/Helpers/Collection/BalanceHeader.php index 5c0f46c72a..5dbe86f5f6 100644 --- a/app/Helpers/Collection/BalanceHeader.php +++ b/app/Helpers/Collection/BalanceHeader.php @@ -43,4 +43,4 @@ class BalanceHeader } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/BalanceLine.php b/app/Helpers/Collection/BalanceLine.php index 4e045eca8a..a3d64ff7e3 100644 --- a/app/Helpers/Collection/BalanceLine.php +++ b/app/Helpers/Collection/BalanceLine.php @@ -167,4 +167,4 @@ class BalanceLine } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/Bill.php b/app/Helpers/Collection/Bill.php index 28a0036244..63b2e0bf52 100644 --- a/app/Helpers/Collection/Bill.php +++ b/app/Helpers/Collection/Bill.php @@ -53,4 +53,4 @@ class Bill return $this->bills; } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/BillLine.php b/app/Helpers/Collection/BillLine.php index 613121073b..fd681b36f4 100644 --- a/app/Helpers/Collection/BillLine.php +++ b/app/Helpers/Collection/BillLine.php @@ -122,4 +122,4 @@ class BillLine } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/Budget.php b/app/Helpers/Collection/Budget.php index c551505b78..dd609f39f6 100644 --- a/app/Helpers/Collection/Budget.php +++ b/app/Helpers/Collection/Budget.php @@ -145,4 +145,4 @@ class Budget } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/BudgetLine.php b/app/Helpers/Collection/BudgetLine.php index 7c5f48e16c..b8f76488a1 100644 --- a/app/Helpers/Collection/BudgetLine.php +++ b/app/Helpers/Collection/BudgetLine.php @@ -127,4 +127,4 @@ class BudgetLine } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/Category.php b/app/Helpers/Collection/Category.php index 96f1c63363..07a4ce7296 100644 --- a/app/Helpers/Collection/Category.php +++ b/app/Helpers/Collection/Category.php @@ -77,4 +77,4 @@ class Category } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/Expense.php b/app/Helpers/Collection/Expense.php index 24e93d557c..4a0098679a 100644 --- a/app/Helpers/Collection/Expense.php +++ b/app/Helpers/Collection/Expense.php @@ -79,4 +79,4 @@ class Expense { return $this->total; } -} \ No newline at end of file +} diff --git a/app/Helpers/Collection/Income.php b/app/Helpers/Collection/Income.php index 420105209a..eaf0568bc4 100644 --- a/app/Helpers/Collection/Income.php +++ b/app/Helpers/Collection/Income.php @@ -82,4 +82,4 @@ class Income } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Chart/AccountController.php b/app/Http/Controllers/Chart/AccountController.php index 530e032851..5460b9212b 100644 --- a/app/Http/Controllers/Chart/AccountController.php +++ b/app/Http/Controllers/Chart/AccountController.php @@ -147,4 +147,4 @@ class AccountController extends Controller return Response::json($chart->getData()); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Chart/BillController.php b/app/Http/Controllers/Chart/BillController.php index f32611d055..567caf1abc 100644 --- a/app/Http/Controllers/Chart/BillController.php +++ b/app/Http/Controllers/Chart/BillController.php @@ -138,4 +138,4 @@ class BillController extends Controller return Response::json($chart->getData()); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php index d5ca79286c..70044af68a 100644 --- a/app/Http/Controllers/Chart/BudgetController.php +++ b/app/Http/Controllers/Chart/BudgetController.php @@ -192,4 +192,4 @@ class BudgetController extends Controller return Response::json($chart->getData()); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index b7c45506c1..0ce466bf44 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -164,4 +164,4 @@ class CategoryController extends Controller return Response::json($chart->getData()); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Chart/PiggyBankController.php b/app/Http/Controllers/Chart/PiggyBankController.php index d240afa583..e3b05f55f7 100644 --- a/app/Http/Controllers/Chart/PiggyBankController.php +++ b/app/Http/Controllers/Chart/PiggyBankController.php @@ -55,4 +55,4 @@ class PiggyBankController extends Controller return Response::json($chart->getData()); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Chart/ReportController.php b/app/Http/Controllers/Chart/ReportController.php index 1576ad27b6..a474f1ac51 100644 --- a/app/Http/Controllers/Chart/ReportController.php +++ b/app/Http/Controllers/Chart/ReportController.php @@ -98,4 +98,4 @@ class ReportController extends Controller return Response::json($chart->getData()); } -} \ No newline at end of file +} diff --git a/resources/lang/en/breadcrumbs.php b/resources/lang/en/breadcrumbs.php index 49962c8cf8..f2ccfd2670 100644 --- a/resources/lang/en/breadcrumbs.php +++ b/resources/lang/en/breadcrumbs.php @@ -71,4 +71,4 @@ return [ 'edit_tag' => 'Edit tag ":tag"', 'delete_tag' => 'Delete tag ":tag"', -]; \ No newline at end of file +]; diff --git a/resources/lang/en/form.php b/resources/lang/en/form.php index 5735e1453e..7cc7b2e5bd 100644 --- a/resources/lang/en/form.php +++ b/resources/lang/en/form.php @@ -75,4 +75,4 @@ return [ '|All :count transactions connected to this budget will spared deletion.', 'category_keep_transactions' => 'The only transaction connected to this category will not be deleted.' . '|All :count transactions connected to this category will spared deletion.', -]; \ No newline at end of file +]; diff --git a/resources/lang/en/list.php b/resources/lang/en/list.php index 22a32b39cb..4ad2805ede 100644 --- a/resources/lang/en/list.php +++ b/resources/lang/en/list.php @@ -29,4 +29,4 @@ return [ 'transfer' => 'Transfer', 'type' => 'Type', 'completed' => 'Completed', -]; \ No newline at end of file +]; diff --git a/resources/lang/nl/breadcrumbs.php b/resources/lang/nl/breadcrumbs.php index 3994dceb70..743d7a40aa 100644 --- a/resources/lang/nl/breadcrumbs.php +++ b/resources/lang/nl/breadcrumbs.php @@ -70,4 +70,4 @@ return [ 'edit_tag' => 'Wijzig tag ":tag"', 'delete_tag' => 'Verwijder tag ":tag"', -]; \ No newline at end of file +]; diff --git a/resources/lang/nl/form.php b/resources/lang/nl/form.php index 062b7a8db1..7f7d22578c 100644 --- a/resources/lang/nl/form.php +++ b/resources/lang/nl/form.php @@ -75,4 +75,4 @@ return [ '|De :count transacties verbonden aan dit budget blijven bewaard.', 'category_keep_transactions' => 'De transactie verbonden aan deze categorie blijft bewaard.' . '|De :count transacties verbonden aan deze categorie blijven bewaard.', -]; \ No newline at end of file +]; diff --git a/resources/lang/nl/list.php b/resources/lang/nl/list.php index 42d4b8c538..34f42976d5 100644 --- a/resources/lang/nl/list.php +++ b/resources/lang/nl/list.php @@ -30,4 +30,4 @@ return [ 'type' => 'Type', 'completed' => 'Opgeslagen' -]; \ No newline at end of file +]; diff --git a/resources/twig/partials/reports/accounts.twig b/resources/twig/partials/reports/accounts.twig index 702fead4d5..f7254a5825 100644 --- a/resources/twig/partials/reports/accounts.twig +++ b/resources/twig/partials/reports/accounts.twig @@ -27,4 +27,4 @@ {{ accounts.getDifference|formatAmount }} -
\ No newline at end of file + diff --git a/resources/twig/partials/reports/balance.twig b/resources/twig/partials/reports/balance.twig index cddb047bce..b8fc7c59bc 100644 --- a/resources/twig/partials/reports/balance.twig +++ b/resources/twig/partials/reports/balance.twig @@ -156,4 +156,4 @@ --> - \ No newline at end of file + diff --git a/resources/twig/partials/reports/bills.twig b/resources/twig/partials/reports/bills.twig index 2cace68717..3d6978fc93 100644 --- a/resources/twig/partials/reports/bills.twig +++ b/resources/twig/partials/reports/bills.twig @@ -48,4 +48,4 @@ {% endfor %} - \ No newline at end of file + diff --git a/resources/twig/partials/reports/budgets.twig b/resources/twig/partials/reports/budgets.twig index 018a6d99ab..5e69cb0997 100644 --- a/resources/twig/partials/reports/budgets.twig +++ b/resources/twig/partials/reports/budgets.twig @@ -59,4 +59,4 @@ {{ budgets.getOverspent|formatAmountPlain }} - \ No newline at end of file + diff --git a/resources/twig/partials/reports/categories.twig b/resources/twig/partials/reports/categories.twig index c55a176209..be58a3290a 100644 --- a/resources/twig/partials/reports/categories.twig +++ b/resources/twig/partials/reports/categories.twig @@ -21,4 +21,4 @@ {{ categories.getTotal|formatAmountPlain }} - \ No newline at end of file + diff --git a/resources/twig/partials/reports/expenses.twig b/resources/twig/partials/reports/expenses.twig index ad9176e878..b7258b3525 100644 --- a/resources/twig/partials/reports/expenses.twig +++ b/resources/twig/partials/reports/expenses.twig @@ -31,4 +31,4 @@ {{ (expenses.getTotal)|formatAmountPlain }} - \ No newline at end of file + diff --git a/resources/twig/partials/reports/income-vs-expenses.twig b/resources/twig/partials/reports/income-vs-expenses.twig index 09e1c5b15c..ea78f40e7b 100644 --- a/resources/twig/partials/reports/income-vs-expenses.twig +++ b/resources/twig/partials/reports/income-vs-expenses.twig @@ -17,4 +17,4 @@ {{ (incomes.getTotal + expenses.getTotal)|formatAmount }} - \ No newline at end of file + diff --git a/resources/twig/partials/reports/income.twig b/resources/twig/partials/reports/income.twig index 145d487a05..7f7dcd9e62 100644 --- a/resources/twig/partials/reports/income.twig +++ b/resources/twig/partials/reports/income.twig @@ -31,4 +31,4 @@ {{ incomes.getTotal|formatAmount }} - \ No newline at end of file + diff --git a/tests/controllers/charts/ChartAccountControllerTest.php b/tests/controllers/charts/ChartAccountControllerTest.php index 044a8fdd1c..ed6c9fd02d 100644 --- a/tests/controllers/charts/ChartAccountControllerTest.php +++ b/tests/controllers/charts/ChartAccountControllerTest.php @@ -37,4 +37,4 @@ class ChartAccountControllerTest extends TestCase { $this->markTestIncomplete(); } -} \ No newline at end of file +} diff --git a/tests/controllers/charts/ChartBillControllerTest.php b/tests/controllers/charts/ChartBillControllerTest.php index 2b5a7c0cd1..7d90eb5e0c 100644 --- a/tests/controllers/charts/ChartBillControllerTest.php +++ b/tests/controllers/charts/ChartBillControllerTest.php @@ -34,4 +34,4 @@ class ChartBillControllerTest extends TestCase } -} \ No newline at end of file +} diff --git a/tests/controllers/charts/ChartBudgetControllerTest.php b/tests/controllers/charts/ChartBudgetControllerTest.php index 2588fdbac9..2cfe66339c 100644 --- a/tests/controllers/charts/ChartBudgetControllerTest.php +++ b/tests/controllers/charts/ChartBudgetControllerTest.php @@ -38,4 +38,4 @@ class ChartBudgetControllerTest extends TestCase $this->markTestIncomplete(); } -} \ No newline at end of file +} diff --git a/tests/controllers/charts/ChartCategoryControllerTest.php b/tests/controllers/charts/ChartCategoryControllerTest.php index a442f99d8a..ee491763ac 100644 --- a/tests/controllers/charts/ChartCategoryControllerTest.php +++ b/tests/controllers/charts/ChartCategoryControllerTest.php @@ -43,4 +43,4 @@ class ChartCategoryControllerTest extends TestCase $this->markTestIncomplete(); } -} \ No newline at end of file +} diff --git a/tests/controllers/charts/ChartPiggyBankControllerTest.php b/tests/controllers/charts/ChartPiggyBankControllerTest.php index d396458c46..2d61d83da2 100644 --- a/tests/controllers/charts/ChartPiggyBankControllerTest.php +++ b/tests/controllers/charts/ChartPiggyBankControllerTest.php @@ -27,4 +27,4 @@ class ChartPiggyBankControllerTest extends TestCase { $this->markTestIncomplete(); } -} \ No newline at end of file +} diff --git a/tests/controllers/charts/ChartReportControllerTest.php b/tests/controllers/charts/ChartReportControllerTest.php index d691cb1146..68a40914f3 100644 --- a/tests/controllers/charts/ChartReportControllerTest.php +++ b/tests/controllers/charts/ChartReportControllerTest.php @@ -32,4 +32,4 @@ class ChartReportControllerTest extends TestCase { $this->markTestIncomplete(); } -} \ No newline at end of file +} diff --git a/tests/helpers/ConnectJournalToPiggyBankTest.php b/tests/helpers/ConnectJournalToPiggyBankTest.php index 950325fc64..8237e900b9 100644 --- a/tests/helpers/ConnectJournalToPiggyBankTest.php +++ b/tests/helpers/ConnectJournalToPiggyBankTest.php @@ -220,4 +220,4 @@ class ConnectJournalToPiggyBankTest extends TestCase $this->assertCount(1, $piggyBank->piggyBankEvents()->get()); } -} \ No newline at end of file +} diff --git a/tests/helpers/ReminderHelperTest.php b/tests/helpers/ReminderHelperTest.php index 5775877325..622788c42e 100644 --- a/tests/helpers/ReminderHelperTest.php +++ b/tests/helpers/ReminderHelperTest.php @@ -164,4 +164,4 @@ class ReminderHelperTest extends TestCase $this->assertTrue(!($strpos === false)); } -} \ No newline at end of file +} diff --git a/tests/helpers/ReportHelperTest.php b/tests/helpers/ReportHelperTest.php index 1b960cf547..9d6e1b71c9 100644 --- a/tests/helpers/ReportHelperTest.php +++ b/tests/helpers/ReportHelperTest.php @@ -50,4 +50,4 @@ class ReportHelperTest extends TestCase } -} \ No newline at end of file +} diff --git a/tests/helpers/ReportQueryTest.php b/tests/helpers/ReportQueryTest.php index 640c3dfb15..d4a769b922 100644 --- a/tests/helpers/ReportQueryTest.php +++ b/tests/helpers/ReportQueryTest.php @@ -97,4 +97,4 @@ class ReportQueryTest extends TestCase $this->markTestIncomplete(); } -} \ No newline at end of file +} From 0e6677ccb376a39e8eaffe5214f19b32a16f3ee4 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 20:04:27 +0200 Subject: [PATCH 18/34] Remove cash accounts from list [skip ci] --- app/Helpers/Report/ReportHelper.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/Helpers/Report/ReportHelper.php b/app/Helpers/Report/ReportHelper.php index 0329bf1dbe..6359ade1b6 100644 --- a/app/Helpers/Report/ReportHelper.php +++ b/app/Helpers/Report/ReportHelper.php @@ -62,6 +62,13 @@ class ReportHelper implements ReportHelperInterface $end = 0; $diff = 0; + // remove cash account, if any: + $accounts =$accounts->filter(function(Account $account) { + if($account->accountType->type != 'Cash account') { + return $account; + } + }); + // summarize: foreach ($accounts as $account) { $start += $account->startBalance; From 6989f61e1be3c9fc83edbd2b8f92a9fdb524a53f Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 20 May 2015 20:10:01 +0200 Subject: [PATCH 19/34] Extra translations [skip ci] --- app/Http/Controllers/AccountController.php | 2 +- config/firefly.php | 1 + resources/lang/en/breadcrumbs.php | 1 + resources/lang/en/firefly.php | 5 +++++ resources/lang/nl/breadcrumbs.php | 1 + resources/lang/nl/firefly.php | 5 +++++ 6 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 1e55f4b445..c176e2fe62 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -170,7 +170,7 @@ class AccountController extends Controller $subTitleIcon = Config::get('firefly.subTitlesByIdentifier.' . $account->accountType->type); $what = Config::get('firefly.shortNamesByFullName.' . $account->accountType->type); $journals = $repository->getJournals($account, $page); - $subTitle = 'Details for ' . strtolower(e($account->accountType->type)) . ' "' . e($account->name) . '"'; + $subTitle = trans('firefly.details_for_' . $what, ['name' => $account->name]); $journals->setPath('accounts/show/' . $account->id); diff --git a/config/firefly.php b/config/firefly.php index aa8bb76867..95182d0d21 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -56,6 +56,7 @@ return [ 'asset' => 'Asset accounts', 'expense' => 'Expense accounts', 'revenue' => 'Revenue accounts', + 'cash' => 'Cash accounts', ], 'subIconsByIdentifier' => [ diff --git a/resources/lang/en/breadcrumbs.php b/resources/lang/en/breadcrumbs.php index f2ccfd2670..0f5535245f 100644 --- a/resources/lang/en/breadcrumbs.php +++ b/resources/lang/en/breadcrumbs.php @@ -5,6 +5,7 @@ return [ 'asset_accounts' => 'Asset accounts', 'expense_accounts' => 'Expense accounts', 'revenue_accounts' => 'Revenue accounts', + 'cash_accounts' => 'Cash accounts', 'new_asset_account' => 'New asset accounts', 'new_expense_account' => 'New expense account', diff --git a/resources/lang/en/firefly.php b/resources/lang/en/firefly.php index 990dd4a344..4e11889901 100644 --- a/resources/lang/en/firefly.php +++ b/resources/lang/en/firefly.php @@ -14,6 +14,11 @@ return [ 'delete' => 'Delete', 'welcomeBack' => 'What\'s playing?', + 'details_for_asset' => 'Details for asset account ":name"', + 'details_for_expense' => 'Details for expense account ":name"', + 'details_for_revenue' => 'Details for revenue account ":name"', + 'details_for_cash' => 'Details for cash account ":name"', + // new user: 'welcome' => 'Welcome to Firefly!', 'createNewAsset' => 'Create a new asset account to get started. This will allow you to create transactions and start your financial management', diff --git a/resources/lang/nl/breadcrumbs.php b/resources/lang/nl/breadcrumbs.php index 743d7a40aa..7136e194a3 100644 --- a/resources/lang/nl/breadcrumbs.php +++ b/resources/lang/nl/breadcrumbs.php @@ -5,6 +5,7 @@ return [ 'asset_accounts' => 'Betaalrekeningen', 'expense_accounts' => 'Crediteuren', 'revenue_accounts' => 'Debiteuren', + 'cash_accounts' => 'Contant geldrekeningen', 'new_asset_account' => 'Nieuwe betaalrekening', 'new_expense_account' => 'Nieuwe crediteur', diff --git a/resources/lang/nl/firefly.php b/resources/lang/nl/firefly.php index 74dfbe3699..0af047ebfe 100644 --- a/resources/lang/nl/firefly.php +++ b/resources/lang/nl/firefly.php @@ -14,6 +14,11 @@ return [ 'delete' => 'Verwijder', 'welcomeBack' => 'Hoe staat het er voor?', + 'details_for_asset' => 'Overzicht voor betaalrekening ":name"', + 'details_for_expense' => 'Overzicht voor crediteur ":name"', + 'details_for_revenue' => 'Overzicht voor debiteur ":name"', + 'details_for_cash' => 'Overzicht voor contant geldrekening ":name"', + // new user: 'welcome' => 'Welkom bij Firefly!', 'createNewAsset' => 'Maak om te beginnen een nieuwe betaalrekening. Dit is je start van je financiële beheer.', From e426f5d5da1cef182ba7125eb12770972d835f83 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 21 May 2015 07:30:38 +0200 Subject: [PATCH 20/34] Some new translations. --- app/Helpers/Collection/Bill.php | 1 + app/Helpers/Collection/BillLine.php | 2 + app/Http/Controllers/AccountController.php | 2 +- app/Http/breadcrumbs.php | 27 +- resources/lang/en/breadcrumbs.php | 4 + resources/lang/en/firefly.php | 18 ++ resources/lang/nl/breadcrumbs.php | 4 + resources/lang/nl/firefly.php | 305 +++++++++++---------- resources/twig/accounts/create.twig | 2 +- resources/twig/accounts/edit.twig | 2 +- resources/twig/accounts/index.twig | 2 +- 11 files changed, 201 insertions(+), 168 deletions(-) diff --git a/app/Helpers/Collection/Bill.php b/app/Helpers/Collection/Bill.php index 63b2e0bf52..dd1d19d767 100644 --- a/app/Helpers/Collection/Bill.php +++ b/app/Helpers/Collection/Bill.php @@ -7,6 +7,7 @@ use FireflyIII\Models\Bill as BillModel; use Illuminate\Support\Collection; /** + * @codeCoverageIgnore * Class Bill * * @package FireflyIII\Helpers\Collection diff --git a/app/Helpers/Collection/BillLine.php b/app/Helpers/Collection/BillLine.php index fd681b36f4..9c225a28e5 100644 --- a/app/Helpers/Collection/BillLine.php +++ b/app/Helpers/Collection/BillLine.php @@ -5,6 +5,8 @@ namespace FireflyIII\Helpers\Collection; use FireflyIII\Models\Bill as BillModel; /** + * @codeCoverageIgnore + * * Class BillLine * * @package FireflyIII\Helpers\Collection diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index c176e2fe62..f8ac8373aa 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -96,7 +96,7 @@ class AccountController extends Controller { $what = Config::get('firefly.shortNamesByFullName')[$account->accountType->type]; - $subTitle = 'Edit ' . strtolower(e($account->accountType->type)) . ' "' . e($account->name) . '"'; + $subTitle = trans('firefly.edit_' . $what . '_account', ['name' => $account->name]); $subTitleIcon = Config::get('firefly.subIconsByIdentifier.' . $what); $openingBalance = $repository->openingBalanceTransaction($account); diff --git a/app/Http/breadcrumbs.php b/app/Http/breadcrumbs.php index 5f3c45adfb..6e1f520856 100644 --- a/app/Http/breadcrumbs.php +++ b/app/Http/breadcrumbs.php @@ -50,25 +50,10 @@ Breadcrumbs::register( Breadcrumbs::register( 'accounts.show', function (Generator $breadcrumbs, Account $account) { - switch ($account->accountType->type) { - default: - throw new FireflyException('Cannot handle account type "' . e($account->accountType->type) . '"'); - break; - case 'Default account': - case 'Asset account': - $what = 'asset'; - break; - case 'Cash account': - $what = 'cash'; - break; - case 'Expense account': - case 'Beneficiary account': - $what = 'expense'; - break; - case 'Revenue account': - $what = 'revenue'; - break; - } + + $what = Config::get('firefly.shortNamesByFullName.' . $account->accountType->type); + + $breadcrumbs->parent('accounts.index', $what); $breadcrumbs->push(e($account->name), route('accounts.show', $account->id)); } @@ -84,7 +69,9 @@ Breadcrumbs::register( Breadcrumbs::register( 'accounts.edit', function (Generator $breadcrumbs, Account $account) { $breadcrumbs->parent('accounts.show', $account); - $breadcrumbs->push(trans('breadcrumbs.edit_account', ['name' => e($account->name)]), route('accounts.edit', $account->id)); + $what = Config::get('firefly.shortNamesByFullName.' . $account->accountType->type); + + $breadcrumbs->push(trans('breadcrumbs.edit_'.$what.'_account', ['name' => e($account->name)]), route('accounts.edit', $account->id)); } ); diff --git a/resources/lang/en/breadcrumbs.php b/resources/lang/en/breadcrumbs.php index 0f5535245f..4cd2768a17 100644 --- a/resources/lang/en/breadcrumbs.php +++ b/resources/lang/en/breadcrumbs.php @@ -14,6 +14,10 @@ return [ 'delete_account' => 'Delete account ":name"', 'edit_account' => 'Edit account ":name"', + 'edit_asset_account' => 'Edit asset account ":name"', + 'edit_expense_account' => 'Edit expense account ":name"', + 'edit_revenue_account' => 'Edit revenue account ":name"', + 'budgets' => 'Budgets', 'newBudget' => 'Create a new budget', 'delete_budget' => 'Delete budget ":name"', diff --git a/resources/lang/en/firefly.php b/resources/lang/en/firefly.php index 4e11889901..8924b6f4ee 100644 --- a/resources/lang/en/firefly.php +++ b/resources/lang/en/firefly.php @@ -19,6 +19,24 @@ return [ 'details_for_revenue' => 'Details for revenue account ":name"', 'details_for_cash' => 'Details for cash account ":name"', + 'store_new_asset_account' => 'Store new asset account', + 'store_new_expense_account' => 'Store new expense account', + 'store_new_revenue_account' => 'Store new revenue account', + + 'edit_asset_account' => 'Edit asset account ":name"', + 'edit_expense_account' => 'Edit expense account ":name"', + 'edit_revenue_account' => 'Edit revenue account ":name"', + + 'update_asset_account' => 'Update asset account', + 'update_expense_account' => 'Update expense account', + 'update_revenue_account' => 'Update revenue account', + + 'make_new_asset_account' => 'New asset account', + 'make_new_expense_account' => 'New expense account', + 'make_new_revenue_account' => 'New revenue account', + + + // new user: 'welcome' => 'Welcome to Firefly!', 'createNewAsset' => 'Create a new asset account to get started. This will allow you to create transactions and start your financial management', diff --git a/resources/lang/nl/breadcrumbs.php b/resources/lang/nl/breadcrumbs.php index 7136e194a3..ca6e448af5 100644 --- a/resources/lang/nl/breadcrumbs.php +++ b/resources/lang/nl/breadcrumbs.php @@ -14,6 +14,10 @@ return [ 'delete_account' => 'Verwijder rekening ":name"', 'edit_account' => 'Wijzig rekening ":name"', + 'edit_asset_account' => 'Wijzig betaalrekening ":name"', + 'edit_expense_account' => 'Wijzig crediteur ":name"', + 'edit_revenue_account' => 'Wijzig debiteur ":name"', + 'budgets' => 'Budgetten', 'newBudget' => 'Maak een nieuw budget', 'delete_budget' => 'Verwijder budget ":name"', diff --git a/resources/lang/nl/firefly.php b/resources/lang/nl/firefly.php index 0af047ebfe..bc4959d8d2 100644 --- a/resources/lang/nl/firefly.php +++ b/resources/lang/nl/firefly.php @@ -2,173 +2,190 @@ // general fields and things. return [ - 'test' => 'Nederlands geselecteerd!', - 'close' => 'Sluiten', - 'pleaseHold' => 'Momentje...', - 'mandatoryFields' => 'Verplichte velden', - 'optionalFields' => 'Optionele velden', - 'options' => 'Opties', - 'something' => 'Iets!', - 'actions' => 'Acties', - 'edit' => 'Wijzig', - 'delete' => 'Verwijder', - 'welcomeBack' => 'Hoe staat het er voor?', + 'test' => 'Nederlands geselecteerd!', + 'close' => 'Sluiten', + 'pleaseHold' => 'Momentje...', + 'mandatoryFields' => 'Verplichte velden', + 'optionalFields' => 'Optionele velden', + 'options' => 'Opties', + 'something' => 'Iets!', + 'actions' => 'Acties', + 'edit' => 'Wijzig', + 'delete' => 'Verwijder', + 'welcomeBack' => 'Hoe staat het er voor?', 'details_for_asset' => 'Overzicht voor betaalrekening ":name"', 'details_for_expense' => 'Overzicht voor crediteur ":name"', 'details_for_revenue' => 'Overzicht voor debiteur ":name"', 'details_for_cash' => 'Overzicht voor contant geldrekening ":name"', + 'store_new_asset_account' => 'Sla nieuwe betaalrekening op', + 'store_new_expense_account' => 'Sla nieuwe crediteur op', + 'store_new_revenue_account' => 'Sla nieuwe debiteur op', + + 'edit_asset_account' => 'Wijzig betaalrekening ":name"', + 'edit_expense_account' => 'Wijzig crediteur ":name"', + 'edit_revenue_account' => 'Wijzig debiteur ":name"', + + 'update_asset_account' => 'Wijzig betaalrekening', + 'update_expense_account' => 'Wijzig crediteur', + 'update_revenue_account' => 'Wijzig debiteur', + + 'make_new_asset_account' => 'Nieuwe betaalrekening', + 'make_new_expense_account' => 'Nieuwe crediteur', + 'make_new_revenue_account' => 'Nieuwe debiteur', + // new user: - 'welcome' => 'Welkom bij Firefly!', - 'createNewAsset' => 'Maak om te beginnen een nieuwe betaalrekening. Dit is je start van je financiële beheer.', - 'createNewAssetButton' => 'Maak een nieuwe betaalrekening', + 'welcome' => 'Welkom bij Firefly!', + 'createNewAsset' => 'Maak om te beginnen een nieuwe betaalrekening. Dit is je start van je financiële beheer.', + 'createNewAssetButton' => 'Maak een nieuwe betaalrekening', // home page: - 'yourAccounts' => 'Je betaalrekeningen', - 'budgetsAndSpending' => 'Budgetten en uitgaven', - 'savings' => 'Sparen', - 'markAsSavingsToContinue' => 'Om hier wat te zien stel je je betaalrekeningen in als "spaarrekening".', - 'createPiggyToContinue' => 'Maak spaarpotjes om hier iets te zien.', - 'newWithdrawal' => 'Nieuwe uitgave', - 'newDeposit' => 'Nieuwe inkomsten', - 'newTransfer' => 'Nieuwe overschrijving', - 'moneyIn' => 'Inkomsten', - 'moneyOut' => 'Uitgaven', - 'billsToPay' => 'Openstaande rekeningen', - 'billsPaid' => 'Betaalde rekeningen', - 'viewDetails' => 'Meer info', - 'divided' => 'verdeeld', - 'toDivide' => 'te verdelen', + 'yourAccounts' => 'Je betaalrekeningen', + 'budgetsAndSpending' => 'Budgetten en uitgaven', + 'savings' => 'Sparen', + 'markAsSavingsToContinue' => 'Om hier wat te zien stel je je betaalrekeningen in als "spaarrekening".', + 'createPiggyToContinue' => 'Maak spaarpotjes om hier iets te zien.', + 'newWithdrawal' => 'Nieuwe uitgave', + 'newDeposit' => 'Nieuwe inkomsten', + 'newTransfer' => 'Nieuwe overschrijving', + 'moneyIn' => 'Inkomsten', + 'moneyOut' => 'Uitgaven', + 'billsToPay' => 'Openstaande rekeningen', + 'billsPaid' => 'Betaalde rekeningen', + 'viewDetails' => 'Meer info', + 'divided' => 'verdeeld', + 'toDivide' => 'te verdelen', // menu and titles, should be recycled as often as possible: - 'toggleNavigation' => 'Navigatie aan of uit', - 'seeAllReminders' => 'Bekijk alle herinneringen', - 'reminders' => 'Herinneringen', - 'currency' => 'Munteenheden', - 'preferences' => 'Voorkeuren', - 'logout' => 'Uitloggen', - 'searchPlaceholder' => 'Zoeken...', - 'dashboard' => 'Dashboard', - 'currencies' => 'Munteenheden', - 'accounts' => 'Rekeningen', - 'assetAccounts' => 'Betaalrekeningen', - 'expenseAccounts' => 'Crediteuren', - 'revenueAccounts' => 'Debiteuren', - 'Asset account' => 'Betaalrekening', - 'Default account' => 'Betaalrekening', - 'Expense account' => 'Crediteur', - 'Revenue account' => 'Debiteur', - 'budgets' => 'Budgetten', - 'categories' => 'Categorieën', - 'tags' => 'Tags', - 'reports' => 'Overzichten', - 'transactions' => 'Transacties', - 'expenses' => 'Uitgaven', - 'income' => 'Inkomsten', - 'transfers' => 'Overschrijvingen', - 'moneyManagement' => 'Geldbeheer', - 'piggyBanks' => 'Spaarpotjes', - 'bills' => 'Rekeningen', - 'createNew' => 'Nieuw', - 'withdrawal' => 'Uitgave', - 'deposit' => 'Inkomsten', - 'transfer' => 'Overschrijving', - 'Withdrawal' => 'Uitgave', - 'Deposit' => 'Inkomsten', - 'Transfer' => 'Overschrijving', - 'bill' => 'Rekening', - 'yes' => 'Ja', - 'no' => 'Nee', - 'amount' => 'Bedrag', - 'newBalance' => 'Nieuw saldo', - 'overview' => 'Overzicht', - 'saveOnAccount' => 'Sparen op rekening', - 'unknown' => 'Onbekend', - 'daily' => 'Dagelijks', - 'weekly' => 'Wekelijks', - 'monthly' => 'Maandelijks', - 'quarterly' => 'Elk kwartaal', - 'half-year' => 'Elk half jaar', - 'yearly' => 'Jaarlijks', + 'toggleNavigation' => 'Navigatie aan of uit', + 'seeAllReminders' => 'Bekijk alle herinneringen', + 'reminders' => 'Herinneringen', + 'currency' => 'Munteenheden', + 'preferences' => 'Voorkeuren', + 'logout' => 'Uitloggen', + 'searchPlaceholder' => 'Zoeken...', + 'dashboard' => 'Dashboard', + 'currencies' => 'Munteenheden', + 'accounts' => 'Rekeningen', + 'assetAccounts' => 'Betaalrekeningen', + 'expenseAccounts' => 'Crediteuren', + 'revenueAccounts' => 'Debiteuren', + 'Asset account' => 'Betaalrekening', + 'Default account' => 'Betaalrekening', + 'Expense account' => 'Crediteur', + 'Revenue account' => 'Debiteur', + 'budgets' => 'Budgetten', + 'categories' => 'Categorieën', + 'tags' => 'Tags', + 'reports' => 'Overzichten', + 'transactions' => 'Transacties', + 'expenses' => 'Uitgaven', + 'income' => 'Inkomsten', + 'transfers' => 'Overschrijvingen', + 'moneyManagement' => 'Geldbeheer', + 'piggyBanks' => 'Spaarpotjes', + 'bills' => 'Rekeningen', + 'createNew' => 'Nieuw', + 'withdrawal' => 'Uitgave', + 'deposit' => 'Inkomsten', + 'transfer' => 'Overschrijving', + 'Withdrawal' => 'Uitgave', + 'Deposit' => 'Inkomsten', + 'Transfer' => 'Overschrijving', + 'bill' => 'Rekening', + 'yes' => 'Ja', + 'no' => 'Nee', + 'amount' => 'Bedrag', + 'newBalance' => 'Nieuw saldo', + 'overview' => 'Overzicht', + 'saveOnAccount' => 'Sparen op rekening', + 'unknown' => 'Onbekend', + 'daily' => 'Dagelijks', + 'weekly' => 'Wekelijks', + 'monthly' => 'Maandelijks', + 'quarterly' => 'Elk kwartaal', + 'half-year' => 'Elk half jaar', + 'yearly' => 'Jaarlijks', - 'reportForYear' => 'Jaaroverzicht :year', - 'reportForYearShared' => 'Jaaroverzicht :year (inclusief gedeelde rekeningen)', - 'reportForMonth' => 'Maandoverzicht van :date', - 'reportForMonthShared' => 'Maandoverzicht van :date (inclusief gedeelde rekeningen)', - 'incomeVsExpenses' => 'Inkomsten tegenover uitgaven', - 'accountBalances' => 'Rekeningsaldi', - 'balanceStartOfYear' => 'Saldo aan het begin van het jaar', - 'balanceEndOfYear' => 'Saldo aan het einde van het jaar', - 'balanceStartOfMonth' => 'Saldo aan het einde van de maand', - 'balanceEndOfMonth' => 'Saldo aan het einde van de maand', + 'reportForYear' => 'Jaaroverzicht :year', + 'reportForYearShared' => 'Jaaroverzicht :year (inclusief gedeelde rekeningen)', + 'reportForMonth' => 'Maandoverzicht van :date', + 'reportForMonthShared' => 'Maandoverzicht van :date (inclusief gedeelde rekeningen)', + 'incomeVsExpenses' => 'Inkomsten tegenover uitgaven', + 'accountBalances' => 'Rekeningsaldi', + 'balanceStartOfYear' => 'Saldo aan het begin van het jaar', + 'balanceEndOfYear' => 'Saldo aan het einde van het jaar', + 'balanceStartOfMonth' => 'Saldo aan het einde van de maand', + 'balanceEndOfMonth' => 'Saldo aan het einde van de maand', - 'balanceStart' => 'Saldo aan het einde van de periode', - 'balanceEnd' => 'Saldo aan het einde van de periode', + 'balanceStart' => 'Saldo aan het einde van de periode', + 'balanceEnd' => 'Saldo aan het einde van de periode', 'reportsOwnAccounts' => 'Overzichten voor je eigen betaalrekeningen', 'reportsOwnAccountsAndShared' => 'Overzichten voor je eigen betaalrekeningen en gedeelde rekeningen', - 'account' => 'Rekening', + 'account' => 'Rekening', - 'splitByAccount' => 'Per betaalrekening', - 'balancedByTransfersAndTags' => 'Gecorrigeerd met overschrijvingen en tags', - 'coveredWithTags' => 'Gecorrigeerd met tags', - 'leftUnbalanced' => 'Ongecorrigeerd', - 'expectedBalance' => 'Verwacht saldo', - 'outsideOfBudgets' => 'Buiten budgetten', - 'leftInBudget' => 'Over van budget', + 'splitByAccount' => 'Per betaalrekening', + 'balancedByTransfersAndTags' => 'Gecorrigeerd met overschrijvingen en tags', + 'coveredWithTags' => 'Gecorrigeerd met tags', + 'leftUnbalanced' => 'Ongecorrigeerd', + 'expectedBalance' => 'Verwacht saldo', + 'outsideOfBudgets' => 'Buiten budgetten', + 'leftInBudget' => 'Over van budget', - 'sumOfSums' => 'Alles bij elkaar', - 'notCharged' => '(Nog) niet betaald', - 'inactive' => 'Niet actief', + 'sumOfSums' => 'Alles bij elkaar', + 'notCharged' => '(Nog) niet betaald', + 'inactive' => 'Niet actief', - 'difference' => 'Verschil', - 'in' => 'In', - 'out' => 'Uit', - 'topX' => 'top :number', - 'showTheRest' => 'Laat alles zien', - 'hideTheRest' => 'Laat alleen de top :number zien', + 'difference' => 'Verschil', + 'in' => 'In', + 'out' => 'Uit', + 'topX' => 'top :number', + 'showTheRest' => 'Laat alles zien', + 'hideTheRest' => 'Laat alleen de top :number zien', // charts: - 'dayOfMonth' => 'Dag vd maand', - 'month' => 'Maand', - 'budget' => 'Budget', - 'spent' => 'Uitgegeven', - 'overspent' => 'Teveel uitgegeven', - 'left' => 'Over', - 'noCategory' => '(geen categorie)', - 'noBudget' => '(geen budget)', - 'category' => 'Categorie', - 'maxAmount' => 'Maximaal bedrag', - 'minAmount' => 'Minimaal bedrag', - 'billEntry' => 'Bedrag voor deze rekening', - 'name' => 'Naam', - 'date' => 'Datum', - 'paid' => 'Betaald', - 'unpaid' => 'Niet betaald', - 'day' => 'Dag', - 'budgeted' => 'Gebudgetteerd', - 'period' => 'Periode', - 'balance' => 'Saldo', - 'summary' => 'Samenvatting', - 'sum' => 'Som', - 'average' => 'Gemiddeld', - 'balanceFor' => 'Saldo op :name', + 'dayOfMonth' => 'Dag vd maand', + 'month' => 'Maand', + 'budget' => 'Budget', + 'spent' => 'Uitgegeven', + 'overspent' => 'Teveel uitgegeven', + 'left' => 'Over', + 'noCategory' => '(geen categorie)', + 'noBudget' => '(geen budget)', + 'category' => 'Categorie', + 'maxAmount' => 'Maximaal bedrag', + 'minAmount' => 'Minimaal bedrag', + 'billEntry' => 'Bedrag voor deze rekening', + 'name' => 'Naam', + 'date' => 'Datum', + 'paid' => 'Betaald', + 'unpaid' => 'Niet betaald', + 'day' => 'Dag', + 'budgeted' => 'Gebudgetteerd', + 'period' => 'Periode', + 'balance' => 'Saldo', + 'summary' => 'Samenvatting', + 'sum' => 'Som', + 'average' => 'Gemiddeld', + 'balanceFor' => 'Saldo op :name', - 'asset_accounts' => 'Betaalrekeningen', - 'expense_accounts' => 'Crediteuren', - 'revenue_accounts' => 'Debiteuren', + 'asset_accounts' => 'Betaalrekeningen', + 'expense_accounts' => 'Crediteuren', + 'revenue_accounts' => 'Debiteuren', // some extra help: - 'accountExtraHelp_asset' => '', - 'accountExtraHelp_expense' => 'Een crediteur is een persoon of een bedrijf waar je geld aan moet betalen. Je staat bij ze in het krijt. Een verwarrende' . - ' term misschien, maar zo werkt het nou eenmaal. De supermarkt, je huurbaas of de bank zijn crediteuren. Jouw ' . - 'geld (krediet) gaat naar hen toe. De term komt uit de wereld van de boekhouding. De uitgaves die je hier ziet zijn ' . - 'positief, want je kijkt uit hun perspectief. Zodra jij afrekent in een winkel, komt het geld er bij hen bij (positief).', - 'accountExtraHelp_revenue' => 'Als je geld krijgt van een bedrijf of een persoon is dat een debiteur. ' . - 'Dat kan salaris zijn, of een andere betaling. ' . - ' Ze hebben een schuld (debet) aan jou. De term komt uit de wereld van de boekhouding.' . - ' De inkomsten die je hier ziet zijn negatief, want je kijkt uit hun perspectief. Zodra een debiteur geld naar jou ' . - 'overmaakt gaat het er bij hen af (negatief).', + 'accountExtraHelp_asset' => '', + 'accountExtraHelp_expense' => + 'Een crediteur is een persoon of een bedrijf waar je geld aan moet betalen. Je staat bij ze in het krijt. Een verwarrende' . + ' term misschien, maar zo werkt het nou eenmaal. De supermarkt, je huurbaas of de bank zijn crediteuren. Jouw ' . + 'geld (krediet) gaat naar hen toe. De term komt uit de wereld van de boekhouding. De uitgaves die je hier ziet zijn ' . + 'positief, want je kijkt uit hun perspectief. Zodra jij afrekent in een winkel, komt het geld er bij hen bij (positief).', + 'accountExtraHelp_revenue' => 'Als je geld krijgt van een bedrijf of een persoon is dat een debiteur. ' . + 'Dat kan salaris zijn, of een andere betaling. ' . + ' Ze hebben een schuld (debet) aan jou. De term komt uit de wereld van de boekhouding.' . + ' De inkomsten die je hier ziet zijn negatief, want je kijkt uit hun perspectief. Zodra een debiteur geld naar jou ' . + 'overmaakt gaat het er bij hen af (negatief).', ]; diff --git a/resources/twig/accounts/create.twig b/resources/twig/accounts/create.twig index 1a11d72452..dbe886c6c9 100644 --- a/resources/twig/accounts/create.twig +++ b/resources/twig/accounts/create.twig @@ -50,7 +50,7 @@

diff --git a/resources/twig/accounts/edit.twig b/resources/twig/accounts/edit.twig index f32d375941..f83bfe474c 100644 --- a/resources/twig/accounts/edit.twig +++ b/resources/twig/accounts/edit.twig @@ -62,7 +62,7 @@

diff --git a/resources/twig/accounts/index.twig b/resources/twig/accounts/index.twig index f331622602..b7248b6a2e 100644 --- a/resources/twig/accounts/index.twig +++ b/resources/twig/accounts/index.twig @@ -22,7 +22,7 @@ From ffb11b01a63a033efa26fb92e3f88df27eaacd46 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 21 May 2015 07:44:44 +0200 Subject: [PATCH 21/34] Some new translations. --- app/Http/Middleware/Range.php | 6 +++--- app/Http/breadcrumbs.php | 2 +- public/js/firefly.js | 17 +++++++++++++---- resources/lang/en/firefly.php | 14 ++++++++++---- resources/lang/nl/firefly.php | 7 +++++++ resources/twig/layout/default.twig | 11 ++++++++++- 6 files changed, 44 insertions(+), 13 deletions(-) diff --git a/app/Http/Middleware/Range.php b/app/Http/Middleware/Range.php index ac0c05ac76..64ceaff4c4 100644 --- a/app/Http/Middleware/Range.php +++ b/app/Http/Middleware/Range.php @@ -55,10 +55,10 @@ class Range if (!Session::has('start') && !Session::has('end')) { /** @var \FireflyIII\Models\Preference $viewRange */ - $viewRange = Preferences::get('viewRange', '1M'); + $viewRange = Preferences::get('viewRange', '1M')->data; $start = new Carbon; - $start = Navigation::updateStartDate($viewRange->data, $start); - $end = Navigation::updateEndDate($viewRange->data, $start); + $start = Navigation::updateStartDate($viewRange, $start); + $end = Navigation::updateEndDate($viewRange, $start); Session::put('start', $start); Session::put('end', $end); diff --git a/app/Http/breadcrumbs.php b/app/Http/breadcrumbs.php index 6e1f520856..289eec2ca5 100644 --- a/app/Http/breadcrumbs.php +++ b/app/Http/breadcrumbs.php @@ -53,7 +53,7 @@ Breadcrumbs::register( $what = Config::get('firefly.shortNamesByFullName.' . $account->accountType->type); - + $breadcrumbs->parent('accounts.index', $what); $breadcrumbs->push(e($account->name), route('accounts.show', $account->id)); } diff --git a/public/js/firefly.js b/public/js/firefly.js index e0a35830ea..a8c075a761 100644 --- a/public/js/firefly.js +++ b/public/js/firefly.js @@ -6,7 +6,7 @@ $(function () { ranges[currentMonthName] = [moment().startOf('month'), moment().endOf('month')]; ranges[previousMonthName] = [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]; ranges[nextMonthName] = [moment().add(1, 'month').startOf('month'), moment().add(1, 'month').endOf('month')]; - ranges['Everything'] = [firstDate, moment()]; + ranges[everything] = [firstDate, moment()]; $('#daterange').daterangepicker( { @@ -15,10 +15,19 @@ $(function () { //View::share('nextMonthName', $next); - ranges: ranges - , + ranges: ranges, opens: 'left', - + locale: { + applyLabel: applyLabel, + cancelLabel: cancelLabel, + fromLabel: fromLabel, + toLabel: toLabel, + weekLabel: 'W', + customRangeLabel: customRangeLabel, + daysOfWeek: moment.weekdaysMin(), + monthNames: moment.monthsShort(), + firstDay: moment.localeData()._week.dow + }, format: 'DD-MM-YYYY', startDate: start, endDate: end diff --git a/resources/lang/en/firefly.php b/resources/lang/en/firefly.php index 8924b6f4ee..51fc1094f2 100644 --- a/resources/lang/en/firefly.php +++ b/resources/lang/en/firefly.php @@ -14,6 +14,13 @@ return [ 'delete' => 'Delete', 'welcomeBack' => 'What\'s playing?', + 'everything' => 'Everything', + 'customRange' => 'Custom range', + 'apply' => 'Apply', + 'cancel' => 'Cancel', + 'from' => 'From', + 'to' => 'To', + 'details_for_asset' => 'Details for asset account ":name"', 'details_for_expense' => 'Details for expense account ":name"', 'details_for_revenue' => 'Details for revenue account ":name"', @@ -23,9 +30,9 @@ return [ 'store_new_expense_account' => 'Store new expense account', 'store_new_revenue_account' => 'Store new revenue account', - 'edit_asset_account' => 'Edit asset account ":name"', - 'edit_expense_account' => 'Edit expense account ":name"', - 'edit_revenue_account' => 'Edit revenue account ":name"', + 'edit_asset_account' => 'Edit asset account ":name"', + 'edit_expense_account' => 'Edit expense account ":name"', + 'edit_revenue_account' => 'Edit revenue account ":name"', 'update_asset_account' => 'Update asset account', 'update_expense_account' => 'Update expense account', @@ -36,7 +43,6 @@ return [ 'make_new_revenue_account' => 'New revenue account', - // new user: 'welcome' => 'Welcome to Firefly!', 'createNewAsset' => 'Create a new asset account to get started. This will allow you to create transactions and start your financial management', diff --git a/resources/lang/nl/firefly.php b/resources/lang/nl/firefly.php index bc4959d8d2..fe497b68f1 100644 --- a/resources/lang/nl/firefly.php +++ b/resources/lang/nl/firefly.php @@ -14,6 +14,13 @@ return [ 'delete' => 'Verwijder', 'welcomeBack' => 'Hoe staat het er voor?', + 'everything' => 'Alles', + 'customRange' => 'Zelf bereik kiezen', + 'apply' => 'Go', + 'cancel' => 'Annuleren', + 'from' => 'Van', + 'to' => 'Tot', + 'details_for_asset' => 'Overzicht voor betaalrekening ":name"', 'details_for_expense' => 'Overzicht voor crediteur ":name"', 'details_for_revenue' => 'Overzicht voor debiteur ":name"', diff --git a/resources/twig/layout/default.twig b/resources/twig/layout/default.twig index 60038da2f8..c79316bc88 100644 --- a/resources/twig/layout/default.twig +++ b/resources/twig/layout/default.twig @@ -128,13 +128,22 @@