From 0b028a8923b57d7ee41667d288e5f9b0ea3aa209 Mon Sep 17 00:00:00 2001
From: James Cole
Date: Tue, 10 Mar 2015 17:26:31 +0100
Subject: [PATCH] Correctly order account names.
---
app/Helpers/Report/ReportHelper.php | 2 +-
app/Helpers/Report/ReportQuery.php | 1 +
app/Http/Controllers/AccountController.php | 2 +-
app/Http/Controllers/Auth/AuthController.php | 2 +-
app/Http/Controllers/BillController.php | 10 +-
app/Http/Controllers/CategoryController.php | 22 +-
app/Http/Controllers/CurrencyController.php | 4 +-
.../Controllers/GoogleChartController.php | 7 +-
app/Http/Controllers/HelpController.php | 12 +-
app/Http/Controllers/HomeController.php | 8 +-
app/Http/Controllers/JsonController.php | 34 ++-
app/Http/Controllers/PiggyBankController.php | 9 +-
.../Controllers/PreferencesController.php | 17 +-
app/Http/Controllers/ReminderController.php | 10 +-
.../Controllers/RepeatedExpenseController.php | 10 +-
app/Http/Controllers/SearchController.php | 6 +-
.../Controllers/TransactionController.php | 13 +-
app/Http/routes.php | 29 ++-
public/js/reports.js | 31 +++
resources/views/reports/budget.blade.php | 231 ++++++++++--------
resources/views/reports/index.blade.php | 13 +-
resources/views/reports/month.blade.php | 9 +
resources/views/reports/year.blade.php | 9 +
tests/TestCase.php | 2 +-
24 files changed, 303 insertions(+), 190 deletions(-)
diff --git a/app/Helpers/Report/ReportHelper.php b/app/Helpers/Report/ReportHelper.php
index bdb05dc2bf..9d3f513b1f 100644
--- a/app/Helpers/Report/ReportHelper.php
+++ b/app/Helpers/Report/ReportHelper.php
@@ -137,7 +137,7 @@ class ReportHelper implements ReportHelperInterface
$sharedAccounts[] = $account->id;
}
- $accounts = \Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*'])->filter(
+ $accounts = \Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->orderBy('accounts.name','ASC')->get(['accounts.*'])->filter(
function (Account $account) use ($sharedAccounts) {
if (!in_array($account->id, $sharedAccounts)) {
return $account;
diff --git a/app/Helpers/Report/ReportQuery.php b/app/Helpers/Report/ReportQuery.php
index 1f4403b733..df1da2cbdf 100644
--- a/app/Helpers/Report/ReportQuery.php
+++ b/app/Helpers/Report/ReportQuery.php
@@ -129,6 +129,7 @@ class ReportQuery implements ReportQueryInterface
$join->on('account_meta.account_id', '=', 'accounts.id')->where('account_meta.name', '=', 'accountRole');
}
)
+ ->orderBy('accounts.name','ASC')
->where(
function (Builder $query) {
$query->where('account_meta.data', '!=', '"sharedAsset"');
diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php
index 148cda23cb..e5812d513c 100644
--- a/app/Http/Controllers/AccountController.php
+++ b/app/Http/Controllers/AccountController.php
@@ -134,7 +134,7 @@ class AccountController extends Controller
$start = clone Session::get('start');
$start->subDay();
$set->each(
- function (Account $account) use($start) {
+ function (Account $account) use ($start) {
$lastTransaction = $account->transactions()->leftJoin(
'transaction_journals', 'transactions.transaction_journal_id', '=', 'transaction_journals.id'
)->orderBy('transaction_journals.date', 'DESC')->first(['transactions.*', 'transaction_journals.date']);
diff --git a/app/Http/Controllers/Auth/AuthController.php b/app/Http/Controllers/Auth/AuthController.php
index 84c4740265..b4c92cf941 100644
--- a/app/Http/Controllers/Auth/AuthController.php
+++ b/app/Http/Controllers/Auth/AuthController.php
@@ -76,7 +76,7 @@ class AuthController extends Controller
);
// set flash message
- Session::flash('success','You have registered successfully!');
+ Session::flash('success', 'You have registered successfully!');
return redirect($this->redirectPath());
diff --git a/app/Http/Controllers/BillController.php b/app/Http/Controllers/BillController.php
index c87730427d..59bd29dea2 100644
--- a/app/Http/Controllers/BillController.php
+++ b/app/Http/Controllers/BillController.php
@@ -8,11 +8,11 @@ use FireflyIII\Models\Bill;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
+use Input;
use Redirect;
use Session;
use URL;
use View;
-use Input;
/**
* Class BillController
@@ -81,7 +81,7 @@ class BillController extends Controller
*/
public function index(BillRepositoryInterface $repository)
{
- $bills = Auth::user()->bills()->orderBy('name','ASC')->get();
+ $bills = Auth::user()->bills()->orderBy('name', 'ASC')->get();
$bills->each(
function (Bill $bill) use ($repository) {
$bill->nextExpectedMatch = $repository->nextExpectedMatch($bill);
@@ -109,7 +109,9 @@ class BillController extends Controller
return Redirect::intended('/');
}
- $set = \DB::table('transactions')->where('amount', '>', 0)->where('amount', '>=', $bill->amount_min)->where('amount', '<=', $bill->amount_max)->get(['transaction_journal_id']);
+ $set = \DB::table('transactions')->where('amount', '>', 0)->where('amount', '>=', $bill->amount_min)->where('amount', '<=', $bill->amount_max)->get(
+ ['transaction_journal_id']
+ );
$ids = [];
/** @var Transaction $entry */
@@ -117,7 +119,7 @@ class BillController extends Controller
$ids[] = intval($entry->transaction_journal_id);
}
if (count($ids) > 0) {
- $journals = Auth::user()->transactionjournals()->whereIn('id',$ids)->get();
+ $journals = Auth::user()->transactionjournals()->whereIn('id', $ids)->get();
/** @var TransactionJournal $journal */
foreach ($journals as $journal) {
$repository->scan($bill, $journal);
diff --git a/app/Http/Controllers/CategoryController.php b/app/Http/Controllers/CategoryController.php
index 3a332167ea..ff93171f9e 100644
--- a/app/Http/Controllers/CategoryController.php
+++ b/app/Http/Controllers/CategoryController.php
@@ -103,18 +103,18 @@ class CategoryController extends Controller
*/
public function noCategory()
{
- $start = Session::get('start', Carbon::now()->startOfMonth());
- $end = Session::get('end', Carbon::now()->startOfMonth());
- $list = Auth::user()
- ->transactionjournals()
- ->leftJoin('category_transaction_journal', 'category_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id')
- ->whereNull('category_transaction_journal.id')
- ->before($end)
- ->after($start)
- ->orderBy('transaction_journals.date')
- ->get(['transaction_journals.*']);
+ $start = Session::get('start', Carbon::now()->startOfMonth());
+ $end = Session::get('end', Carbon::now()->startOfMonth());
+ $list = Auth::user()
+ ->transactionjournals()
+ ->leftJoin('category_transaction_journal', 'category_transaction_journal.transaction_journal_id', '=', 'transaction_journals.id')
+ ->whereNull('category_transaction_journal.id')
+ ->before($end)
+ ->after($start)
+ ->orderBy('transaction_journals.date')
+ ->get(['transaction_journals.*']);
- $subTitle = 'Transactions without a category between ' . $start->format('jS F Y').' and '.$end->format('jS F Y');
+ $subTitle = 'Transactions without a category between ' . $start->format('jS F Y') . ' and ' . $end->format('jS F Y');
return view('categories.noCategory', compact('list', 'subTitle'));
}
diff --git a/app/Http/Controllers/CurrencyController.php b/app/Http/Controllers/CurrencyController.php
index 87baafd9d2..50e58ef418 100644
--- a/app/Http/Controllers/CurrencyController.php
+++ b/app/Http/Controllers/CurrencyController.php
@@ -1,15 +1,15 @@
endOfMonth());
if ($frontPage->data == []) {
- $accounts = Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*']);
+ $accounts = Auth::user()->accounts()->orderBy('accounts.name', 'ASC')->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*']);
} else {
- $accounts = Auth::user()->accounts()->whereIn('id', $frontPage->data)->get(['accounts.*']);
+ $accounts = Auth::user()->accounts()->whereIn('id', $frontPage->data)->orderBy('accounts.name', 'ASC')->get(['accounts.*']);
}
$index = 1;
/** @var Account $account */
@@ -508,7 +508,7 @@ class GoogleChartController extends Controller
$end = Session::get('end');
while ($start <= $end) {
- $spent = floatval($category->transactionjournals()->onDate($start)->lessThan(0)->sum('amount')) * -1;
+ $spent = floatval($category->transactionjournals()->onDate($start)->lessThan(0)->sum('amount')) * -1;
$chart->addRow(clone $start, $spent);
$start->addDay();
}
@@ -521,7 +521,6 @@ class GoogleChartController extends Controller
}
-
/**
* @param PiggyBank $piggyBank
*
diff --git a/app/Http/Controllers/HelpController.php b/app/Http/Controllers/HelpController.php
index 19457e4786..fe3194ea61 100644
--- a/app/Http/Controllers/HelpController.php
+++ b/app/Http/Controllers/HelpController.php
@@ -1,21 +1,19 @@
There is no help for this route.
';
}
- $converter = new CommonMarkConverter();
+ $converter = new CommonMarkConverter();
$content['text'] = $converter->convertToHtml($content['text']);
return $content;
diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php
index 66f32ecdc3..627fbf4d0c 100644
--- a/app/Http/Controllers/HomeController.php
+++ b/app/Http/Controllers/HomeController.php
@@ -7,7 +7,7 @@ use Input;
use Preferences;
use Redirect;
use Session;
-use DB;
+
/**
* Class HomeController
*
@@ -64,7 +64,7 @@ class HomeController extends Controller
if ($frontPage->data == []) {
- $accounts = Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*']);
+ $accounts = Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->orderBy('accounts.name', 'ASC')->get(['accounts.*']);
} else {
$accounts = Auth::user()->accounts()->whereIn('id', $frontPage->data)->get(['accounts.*']);
}
@@ -75,8 +75,8 @@ class HomeController extends Controller
->with(['transactions', 'transactioncurrency', 'transactiontype'])
->leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id')
->leftJoin('accounts', 'accounts.id', '=', 'transactions.account_id')->where('accounts.id', $account->id)
- ->before($end)
- ->after($start)
+ ->before($end)
+ ->after($start)
->orderBy('transaction_journals.date', 'DESC')
->orderBy('transaction_journals.id', 'DESC')
->take(10)
diff --git a/app/Http/Controllers/JsonController.php b/app/Http/Controllers/JsonController.php
index 71f1c485de..5f1bb43549 100644
--- a/app/Http/Controllers/JsonController.php
+++ b/app/Http/Controllers/JsonController.php
@@ -7,6 +7,7 @@ use FireflyIII\Http\Requests;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use Input;
+use Preferences;
use Response;
use Session;
@@ -75,7 +76,7 @@ class JsonController extends Controller
}
}
- break;
+ break;
case 'bills-paid':
$box = 'bills-paid';
// these two functions are the same as the chart TODO
@@ -104,7 +105,7 @@ class JsonController extends Controller
}
}
- return Response::json(['box' => $box, 'amount' => Amount::format($amount, false),'amount_raw' => $amount]);
+ return Response::json(['box' => $box, 'amount' => Amount::format($amount, false), 'amount_raw' => $amount]);
}
/**
@@ -121,8 +122,6 @@ class JsonController extends Controller
}
return Response::json($return);
-
-
}
/**
@@ -132,7 +131,7 @@ class JsonController extends Controller
*/
public function expenseAccounts()
{
- $list = Auth::user()->accounts()->accountTypeIn(['Expense account', 'Beneficiary account'])->get();
+ $list = Auth::user()->accounts()->orderBy('accounts.name', 'ASC')->accountTypeIn(['Expense account', 'Beneficiary account'])->get();
$return = [];
foreach ($list as $entry) {
$return[] = $entry->name;
@@ -147,7 +146,7 @@ class JsonController extends Controller
*/
public function revenueAccounts()
{
- $list = Auth::user()->accounts()->accountTypeIn(['Revenue account'])->get();
+ $list = Auth::user()->accounts()->accountTypeIn(['Revenue account'])->orderBy('accounts.name', 'ASC')->get(['accounts.*']);
$return = [];
foreach ($list as $entry) {
$return[] = $entry->name;
@@ -157,4 +156,27 @@ class JsonController extends Controller
}
+ /**
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function showSharedReports()
+ {
+ $pref = Preferences::get('showSharedReports', false);
+
+ return Response::json(['value' => $pref->data]);
+ }
+
+ /**
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function setSharedReports()
+ {
+ $pref = Preferences::get('showSharedReports', false);
+ $new = !$pref->data;
+ Preferences::set('showSharedReports', $new);
+
+
+ return Response::json(['value' => $new]);
+ }
+
}
diff --git a/app/Http/Controllers/PiggyBankController.php b/app/Http/Controllers/PiggyBankController.php
index 64231baa98..010f36e2f9 100644
--- a/app/Http/Controllers/PiggyBankController.php
+++ b/app/Http/Controllers/PiggyBankController.php
@@ -63,7 +63,9 @@ class PiggyBankController extends Controller
{
$periods = Config::get('firefly.piggy_bank_periods');
- $accounts = ExpandedForm::makeSelectList(Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*']));
+ $accounts = ExpandedForm::makeSelectList(
+ Auth::user()->accounts()->orderBy('accounts.name', 'ASC')->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*'])
+ );
$subTitle = 'Create new piggy bank';
$subTitleIcon = 'fa-plus';
@@ -107,7 +109,9 @@ class PiggyBankController extends Controller
{
$periods = Config::get('firefly.piggy_bank_periods');
- $accounts = ExpandedForm::makeSelectList(Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*']));
+ $accounts = ExpandedForm::makeSelectList(
+ Auth::user()->accounts()->orderBy('accounts.name', 'ASC')->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*'])
+ );
$subTitle = 'Edit piggy bank "' . e($piggyBank->name) . '"';
$subTitleIcon = 'fa-pencil';
@@ -335,5 +339,4 @@ class PiggyBankController extends Controller
}
-
}
diff --git a/app/Http/Controllers/PreferencesController.php b/app/Http/Controllers/PreferencesController.php
index c8c1379149..b21e81c0bc 100644
--- a/app/Http/Controllers/PreferencesController.php
+++ b/app/Http/Controllers/PreferencesController.php
@@ -1,21 +1,20 @@
accounts()->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*']);
+ $accounts = Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->orderBy('accounts.name', 'ASC')->get(['accounts.*']);
$viewRange = Preferences::get('viewRange', '1M');
$viewRangeValue = $viewRange->data;
$frontPage = Preferences::get('frontPageAccounts', []);
diff --git a/app/Http/Controllers/ReminderController.php b/app/Http/Controllers/ReminderController.php
index ae69d044f9..379274a3af 100644
--- a/app/Http/Controllers/ReminderController.php
+++ b/app/Http/Controllers/ReminderController.php
@@ -6,8 +6,8 @@ use FireflyIII\Helpers\Reminders\ReminderHelperInterface;
use FireflyIII\Http\Requests;
use FireflyIII\Models\Reminder;
use Redirect;
-use URL;
use Session;
+use URL;
/**
* Class ReminderController
@@ -27,12 +27,12 @@ class ReminderController extends Controller
'description' => 'Money for piggy bank "' . $reminder->remindersable->name . '"',
'amount' => round($reminder->metadata->perReminder, 2),
'account_to_id' => $reminder->remindersable->account_id,
- 'piggy_bank_id' => $reminder->remindersable_id,
- 'reminder_id' => $reminder->id,
+ 'piggy_bank_id' => $reminder->remindersable_id,
+ 'reminder_id' => $reminder->id,
];
- Session::flash('_old_input',$data);
+ Session::flash('_old_input', $data);
- return Redirect::route('transactions.create','transfer');
+ return Redirect::route('transactions.create', 'transfer');
}
/**
diff --git a/app/Http/Controllers/RepeatedExpenseController.php b/app/Http/Controllers/RepeatedExpenseController.php
index 8569b067a9..64f2e63c45 100644
--- a/app/Http/Controllers/RepeatedExpenseController.php
+++ b/app/Http/Controllers/RepeatedExpenseController.php
@@ -36,7 +36,9 @@ class RepeatedExpenseController extends Controller
public function create()
{
$periods = Config::get('firefly.piggy_bank_periods');
- $accounts = ExpandedForm::makeSelectList(Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*']));
+ $accounts = ExpandedForm::makeSelectList(
+ Auth::user()->accounts()->orderBy('accounts.name', 'ASC')->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*'])
+ );
return view('repeatedExpense.create', compact('accounts', 'periods'))->with('subTitle', 'Create new repeated expense')->with(
'subTitleIcon', 'fa-plus'
@@ -79,7 +81,9 @@ class RepeatedExpenseController extends Controller
{
$periods = Config::get('firefly.piggy_bank_periods');
- $accounts = ExpandedForm::makeSelectList(Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*']));
+ $accounts = ExpandedForm::makeSelectList(
+ Auth::user()->accounts()->orderBy('accounts.name', 'ASC')->accountTypeIn(['Default account', 'Asset account'])->get(['accounts.*'])
+ );
$subTitle = 'Edit repeated expense "' . e($repeatedExpense->name) . '"';
$subTitleIcon = 'fa-pencil';
@@ -183,7 +187,7 @@ class RepeatedExpenseController extends Controller
'rep_length' => $request->get('rep_length'),
'rep_every' => intval($request->get('rep_every')),
'rep_times' => intval($request->get('rep_times')),
- 'remind_me' => intval($request->get('remind_me')) == 1 ? true : false ,
+ 'remind_me' => intval($request->get('remind_me')) == 1 ? true : false,
'reminder' => $request->get('reminder'),
];
diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php
index aa56c5e993..8c54a3170e 100644
--- a/app/Http/Controllers/SearchController.php
+++ b/app/Http/Controllers/SearchController.php
@@ -1,10 +1,7 @@
accounts()->accountTypeIn(['Default account', 'Asset account'])->where('active', 1)->orderBy('name', 'DESC')->get(['accounts.*'])
+ Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->orderBy('accounts.name', 'ASC')->orderBy('name', 'ASC')->where(
+ 'active', 1
+ )->orderBy('name', 'DESC')->get(['accounts.*'])
);
$budgets = ExpandedForm::makeSelectList(Auth::user()->budgets()->get());
$budgets[0] = '(no budget)';
@@ -120,7 +121,9 @@ class TransactionController extends Controller
{
$what = strtolower($journal->transactiontype->type);
$accounts = ExpandedForm::makeSelectList(
- Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->where('active', 1)->orderBy('name', 'DESC')->get(['accounts.*'])
+ Auth::user()->accounts()->accountTypeIn(['Default account', 'Asset account'])->orderBy('accounts.name', 'ASC')->where('active', 1)->orderBy(
+ 'name', 'DESC'
+ )->get(['accounts.*'])
);
$budgets = ExpandedForm::makeSelectList(Auth::user()->budgets()->get());
$budgets[0] = '(no budget)';
@@ -259,8 +262,8 @@ class TransactionController extends Controller
event(new JournalSaved($journal));
event(new JournalCreated($journal, intval($request->get('piggy_bank_id'))));
- if(intval($request->get('reminder_id')) > 0) {
- $reminder = Auth::user()->reminders()->find($request->get('reminder_id'));
+ if (intval($request->get('reminder_id')) > 0) {
+ $reminder = Auth::user()->reminders()->find($request->get('reminder_id'));
$reminder->active = 0;
$reminder->save();
}
diff --git a/app/Http/routes.php b/app/Http/routes.php
index 60bc5a6827..928e3a54ec 100644
--- a/app/Http/routes.php
+++ b/app/Http/routes.php
@@ -1,13 +1,13 @@
'Auth\AuthController@getRegister', 'as' => 'r
Route::controllers(
[
- 'auth' => 'Auth\AuthController',
+ 'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]
);
@@ -156,10 +156,10 @@ Route::controllers(
* Home Controller
*/
Route::group(
- ['middleware' => ['auth', 'range','reminders']], function () {
+ ['middleware' => ['auth', 'range', 'reminders']], function () {
Route::get('/', ['uses' => 'HomeController@index', 'as' => 'index']);
Route::get('/home', ['uses' => 'HomeController@index', 'as' => 'home']);
- Route::post('/daterange',['uses' => 'HomeController@dateRange','as' => 'daterange']);
+ Route::post('/daterange', ['uses' => 'HomeController@dateRange', 'as' => 'daterange']);
Route::get('/flush', ['uses' => 'HomeController@flush', 'as' => 'flush']);
/**
* Account Controller
@@ -260,14 +260,16 @@ Route::group(
Route::get('/json/revenue-accounts', ['uses' => 'JsonController@revenueAccounts', 'as' => 'json.revenue-accounts']);
Route::get('/json/categories', ['uses' => 'JsonController@categories', 'as' => 'json.categories']);
Route::get('/json/box', ['uses' => 'JsonController@box', 'as' => 'json.box']);
+ Route::get('/json/show-shared-reports', 'JsonController@showSharedReports');
+ Route::get('/json/show-shared-reports/set', 'JsonController@setSharedReports');
/**
* Piggy Bank Controller
*/
Route::get('/piggy-banks', ['uses' => 'PiggyBankController@index', 'as' => 'piggy-banks.index']);
- Route::get('/piggy-banks/add/{piggyBank}', ['uses' => 'PiggyBankController@add','as' => 'piggy-banks.addMoney']); # add money
- Route::get('/piggy-banks/remove/{piggyBank}', ['uses' => 'PiggyBankController@remove','as' => 'piggy-banks.removeMoney']); #remove money
+ Route::get('/piggy-banks/add/{piggyBank}', ['uses' => 'PiggyBankController@add', 'as' => 'piggy-banks.addMoney']); # add money
+ Route::get('/piggy-banks/remove/{piggyBank}', ['uses' => 'PiggyBankController@remove', 'as' => 'piggy-banks.removeMoney']); #remove money
Route::get('/piggy-banks/create', ['uses' => 'PiggyBankController@create', 'as' => 'piggy-banks.create']);
Route::get('/piggy-banks/edit/{piggyBank}', ['uses' => 'PiggyBankController@edit', 'as' => 'piggy-banks.edit']);
Route::get('/piggy-banks/delete/{piggyBank}', ['uses' => 'PiggyBankController@delete', 'as' => 'piggy-banks.delete']);
@@ -289,7 +291,7 @@ Route::group(
*/
Route::get('/profile', ['uses' => 'ProfileController@index', 'as' => 'profile']);
Route::get('/profile/change-password', ['uses' => 'ProfileController@changePassword', 'as' => 'change-password']);
- Route::post('/profile/change-password', ['uses' => 'ProfileController@postChangePassword','as' => 'change-password-post']);
+ Route::post('/profile/change-password', ['uses' => 'ProfileController@postChangePassword', 'as' => 'change-password-post']);
/**
* Related transactions controller
@@ -331,9 +333,14 @@ Route::group(
Route::get('/reports/budget/{year}/{month}', ['uses' => 'ReportController@budget', 'as' => 'reports.budget']);
// pop ups for budget report:
- Route::get('/reports/modal/{account}/{year}/{month}/no-budget', ['uses' => 'ReportController@modalNoBudget','as' => 'reports.no-budget']);
- Route::get('/reports/modal/{account}/{year}/{month}/balanced-transfers', ['uses' => 'ReportController@modalBalancedTransfers','as' => 'reports.balanced-transfers']);
- Route::get('/reports/modal/{account}/{year}/{month}/left-unbalanced', ['uses' => 'ReportController@modalLeftUnbalanced','as' => 'reports.left-unbalanced']);
+ Route::get('/reports/modal/{account}/{year}/{month}/no-budget', ['uses' => 'ReportController@modalNoBudget', 'as' => 'reports.no-budget']);
+ Route::get(
+ '/reports/modal/{account}/{year}/{month}/balanced-transfers',
+ ['uses' => 'ReportController@modalBalancedTransfers', 'as' => 'reports.balanced-transfers']
+ );
+ Route::get(
+ '/reports/modal/{account}/{year}/{month}/left-unbalanced', ['uses' => 'ReportController@modalLeftUnbalanced', 'as' => 'reports.left-unbalanced']
+ );
/**
* Search Controller
diff --git a/public/js/reports.js b/public/js/reports.js
index db674c2f91..c8b46cfcbb 100644
--- a/public/js/reports.js
+++ b/public/js/reports.js
@@ -11,6 +11,8 @@ if (typeof(google) != 'undefined') {
$(function () {
$('.openModal').on('click', openModal);
+ includeSharedToggle();
+ $('#includeShared').click(includeSharedSet);
});
function openModal(e) {
@@ -25,5 +27,34 @@ function openModal(e) {
alert('Could not load data.');
});
+ return false;
+}
+
+function includeSharedToggle() {
+ // get setting from JSON.
+ $.getJSON('json/show-shared-reports').success(function (data) {
+ console.log('GO');
+ if (data.value == true) {
+ // show shared data, update button:
+ //
+ $('#includeShared').empty().addClass('btn-info').append($('').addClass('state-icon glyphicon glyphicon-check')).append(' Include shared asset accounts').show();
+ console.log('true');
+ } else {
+ $('#includeShared').empty().removeClass('btn-info').append($('').addClass('state-icon glyphicon glyphicon-unchecked')).append(' Include shared asset accounts').show();
+ console.log('false');
+ }
+ }).fail(function () {
+ console.log('fail');
+ });
+}
+
+function includeSharedSet() {
+ // get setting from JSON.
+ $.getJSON('json/show-shared-reports/set').success(function (data) {
+ console.log('Value is now: ' + data.value);
+ includeSharedToggle();
+ }).fail(function () {
+ console.log('fail');
+ });
return false;
}
\ No newline at end of file
diff --git a/resources/views/reports/budget.blade.php b/resources/views/reports/budget.blade.php
index 1fd1347a34..b4116b1f72 100644
--- a/resources/views/reports/budget.blade.php
+++ b/resources/views/reports/budget.blade.php
@@ -1,128 +1,146 @@
@extends('layouts.default')
@section('content')
{!! Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName(), $date) !!}
+
-
-
- | Account |
- Start of month |
- Current balance |
- Spent |
- Earned |
-
- @foreach($accounts as $account)
+
+
+ Accounts
+
+
- | {{{$account->name}}} |
- {!! Amount::format($account->startBalance) !!} |
- {!! Amount::format($account->endBalance) !!} |
-
- @if($account->startBalance - $account->endBalance >= 0)
- {!! Amount::format($account->startBalance - $account->endBalance) !!}
- @endif
- |
-
- @if($account->startBalance - $account->endBalance < 0)
- {!! Amount::format(($account->startBalance - $account->endBalance)*-1) !!}
- @endif
- |
+ Account |
+ Start of month |
+ Current balance |
+ Spent |
+ Earned |
- @endforeach
-
+ @foreach($accounts as $account)
+
+ | {{{$account->name}}} |
+ {!! Amount::format($account->startBalance) !!} |
+ {!! Amount::format($account->endBalance) !!} |
+
+ @if($account->startBalance - $account->endBalance >= 0)
+ {!! Amount::format($account->startBalance - $account->endBalance) !!}
+ @endif
+ |
+
+ @if($account->startBalance - $account->endBalance < 0)
+ {!! Amount::format(($account->startBalance - $account->endBalance)*-1) !!}
+ @endif
+ |
+
+ @endforeach
+
+
-
-
-
- | Budgets |
-
- @foreach($accounts as $account)
- {{{$account->name}}} |
+
+
+ Budgets
+
+
+
+ | Budgets |
id] = 0;
+ $accountSums = [];
?>
- @endforeach
-
- Left in budget
- |
-
- @foreach($budgets as $id => $budget)
-
- | {{{$budget['name']}}} |
- {!! Amount::format($budget['amount']) !!} |
-
- @foreach($accounts as $account)
- @if(isset($account->budgetInformation[$id]))
-
- @if($id == 0)
-
- {!! Amount::format($account->budgetInformation[$id]['amount']) !!}
-
- @else
- {!! Amount::format($account->budgetInformation[$id]['amount']) !!}
- @endif
- |
+ @foreach($accounts as $account)
+ {{{$account->name}}} |
budgetInformation[$id]['amount']);
- $accountSums[$account->id] += floatval($account->budgetInformation[$id]['amount']);
+ $accountSums[$account->id] = 0;
?>
- @else
- {!! Amount::format(0) !!} |
- @endif
+ @endforeach
+
+ Left in budget
+ |
+
+ @foreach($budgets as $id => $budget)
+
+ | {{{$budget['name']}}} |
+ {!! Amount::format($budget['amount']) !!} |
+
+ @foreach($accounts as $account)
+ @if(isset($account->budgetInformation[$id]))
+
+ @if($id == 0)
+
+ {!! Amount::format($account->budgetInformation[$id]['amount']) !!}
+
+ @else
+ {!! Amount::format($account->budgetInformation[$id]['amount']) !!}
+ @endif
+ |
+ budgetInformation[$id]['amount']);
+ $accountSums[$account->id] += floatval($account->budgetInformation[$id]['amount']);
+ ?>
+ @else
+ {!! Amount::format(0) !!} |
+ @endif
+ @endforeach
+ {!! Amount::format($budget['amount'] + $budget['spent']) !!} |
+ {!! Amount::format($budget['amount'] + $spent) !!} |
+
@endforeach
- {!! Amount::format($budget['amount'] + $budget['spent']) !!} |
- {!! Amount::format($budget['amount'] + $spent) !!} |
-
- @endforeach
-
- | Balanced by transfers |
- @foreach($accounts as $account)
-
- {!! Amount::format($account->balancedAmount) !!}
- |
- @endforeach
- |
-
-
- | Left unbalanced |
- @foreach($accounts as $account)
- id] += $account->balancedAmount;
- ?>
- @if(isset($account->budgetInformation[0]))
+
+ | Balanced by transfers |
+ @foreach($accounts as $account)
- @if($account->budgetInformation[0]['amount'] + $account->balancedAmount != 0.0)
- {!! Amount::format($account->budgetInformation[0]['amount'] + $account->balancedAmount) !!}
- @else
- {!! Amount::format($account->budgetInformation[0]['amount'] + $account->balancedAmount) !!}
- @endif
+ {!! Amount::format($account->balancedAmount) !!}
|
- @else
- {!! Amount::format(0) !!} |
- @endif
- @endforeach
- |
-
-
- | Sum |
- @foreach($accounts as $account)
- {!! Amount::format($accountSums[$account->id]) !!} |
- @endforeach
- |
-
-
- | Expected balance |
- @foreach($accounts as $account)
- {!! Amount::format($account->startBalance + $accountSums[$account->id]) !!} |
- @endforeach
- |
-
+ @endforeach
+ |
+
+
+ | Left unbalanced |
+ @foreach($accounts as $account)
+ id] += $account->balancedAmount;
+ ?>
+ @if(isset($account->budgetInformation[0]))
+
+ @if($account->budgetInformation[0]['amount'] + $account->balancedAmount != 0.0)
+ {!! Amount::format($account->budgetInformation[0]['amount'] + $account->balancedAmount) !!}
+ @else
+ {!! Amount::format($account->budgetInformation[0]['amount'] + $account->balancedAmount) !!}
+ @endif
+ |
+ @else
+ {!! Amount::format(0) !!} |
+ @endif
+ @endforeach
+ |
+
+
+ | Sum |
+ @foreach($accounts as $account)
+ {!! Amount::format($accountSums[$account->id]) !!} |
+ @endforeach
+ |
+
+
+ | Expected balance |
+ @foreach($accounts as $account)
+ {!! Amount::format($account->startBalance + $accountSums[$account->id]) !!} |
+ @endforeach
+ |
+
-
+
+
@@ -133,6 +151,5 @@
@stop
@section('scripts')
-
@stop
diff --git a/resources/views/reports/index.blade.php b/resources/views/reports/index.blade.php
index 4705417029..15aa572bab 100644
--- a/resources/views/reports/index.blade.php
+++ b/resources/views/reports/index.blade.php
@@ -1,6 +1,15 @@
@extends('layouts.default')
@section('content')
{!! Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName()) !!}
+
@@ -51,9 +60,11 @@
@endforeach
@endforeach
-
@stop
+@section('scripts')
+
+@stop
\ No newline at end of file
diff --git a/resources/views/reports/month.blade.php b/resources/views/reports/month.blade.php
index c9cef65b18..5e2d2fa7cc 100644
--- a/resources/views/reports/month.blade.php
+++ b/resources/views/reports/month.blade.php
@@ -1,6 +1,15 @@
@extends('layouts.default')
@section('content')
{!! Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName(), $date) !!}
+
diff --git a/resources/views/reports/year.blade.php b/resources/views/reports/year.blade.php
index 75ad2b879f..35955bcd70 100644
--- a/resources/views/reports/year.blade.php
+++ b/resources/views/reports/year.blade.php
@@ -1,6 +1,15 @@
@extends('layouts.default')
@section('content')
{!! Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName(), $date) !!}
+
diff --git a/tests/TestCase.php b/tests/TestCase.php
index 971e451ea7..76bcb54c16 100644
--- a/tests/TestCase.php
+++ b/tests/TestCase.php
@@ -13,7 +13,7 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase
*/
public function createApplication()
{
- $app = require __DIR__ . '/../bootstrap/app.php';
+ $app = require __DIR__ . '/../../bootstrap/app.php';
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();