diff --git a/app/Http/Controllers/JsonController.php b/app/Http/Controllers/JsonController.php index 40eb08e3ee..6ca21159dc 100644 --- a/app/Http/Controllers/JsonController.php +++ b/app/Http/Controllers/JsonController.php @@ -202,30 +202,6 @@ class JsonController extends Controller } - /** - * @return \Symfony\Component\HttpFoundation\Response - */ - public function setSharedReports() - { - /** @var Preference $pref */ - $pref = Preferences::get('includeShared', false); - $new = !$pref->data; - Preferences::set('includeShared', $new); - - - return Response::json(['value' => $new]); - } - - /** - * @return \Symfony\Component\HttpFoundation\Response - */ - public function showSharedReports() - { - $pref = Preferences::get('includeShared', false); - - return Response::json(['value' => $pref->data]); - } - /** * Returns a JSON list of all beneficiaries. * diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index 61e99c04e7..c5007309aa 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -6,7 +6,6 @@ use FireflyIII\Helpers\Report\ReportQueryInterface; use FireflyIII\Models\Account; use FireflyIII\Models\Preference; use FireflyIII\Models\TransactionJournal; -use Preferences; use Session; use Steam; use View; @@ -128,23 +127,25 @@ class ReportController extends Controller * * @return \Illuminate\View\View */ - public function month($year = '2014', $month = '1') + public function month($year = '2014', $month = '1', $shared = false) { - $date = new Carbon($year . '-' . $month . '-01'); - $subTitle = 'Report for ' . $date->format('F Y'); - $subTitleIcon = 'fa-calendar'; - $displaySum = true; // to show sums in report. - $end = clone $date; - $start = clone $date; - $includeShared = Preferences::get('includeShared', false)->data; + $date = new Carbon($year . '-' . $month . '-01'); + $subTitle = 'Report for ' . $date->format('F Y'); + $subTitleIcon = 'fa-calendar'; + $displaySum = true; // to show sums in report. + $end = clone $date; + $start = clone $date; + if ($shared == 'shared') { + $shared = true; + } // set start and end. $start->startOfMonth(); $end->endOfMonth(); // get all income and expenses. it's OK. - $income = $this->query->incomeInPeriod($start, $end, $includeShared); - $expensesSet = $this->query->journalsByExpenseAccount($start, $end, $includeShared); + $income = $this->query->incomeInPeriod($start, $end, $shared); + $expensesSet = $this->query->journalsByExpenseAccount($start, $end, $shared); /** * INCLUDE ORIGINAL BUDGET REPORT HERE: @@ -152,7 +153,7 @@ class ReportController extends Controller // should show shared reports? /** @var Preference $pref */ $accountAmounts = []; // array with sums of spent amounts on each account. - $accounts = $this->query->getAllAccounts($start, $end, $includeShared); // all accounts and some data. + $accounts = $this->query->getAllAccounts($start, $end, $shared); // all accounts and some data. foreach ($accounts as $account) { @@ -190,7 +191,7 @@ class ReportController extends Controller /** * Start getBudgetsForMonth DONE */ - $budgets = $this->helper->getBudgetsForMonth($date, $includeShared); + $budgets = $this->helper->getBudgetsForMonth($date, $shared); /** * End getBudgetsForMonth DONE @@ -204,7 +205,7 @@ class ReportController extends Controller // all transfers - if ($includeShared === false) { + if ($shared === false) { $result = $this->query->sharedExpensesByCategory($start, $end); $transfers = Steam::makeArray($result); $merged = Steam::mergeArrays($categories, $transfers); @@ -243,20 +244,21 @@ class ReportController extends Controller * * @return $this */ - public function year($year) + public function year($year, $shared = false) { - /** @var Preference $pref */ - $includeShared = Preferences::get('includeShared', false)->data; - $date = new Carbon('01-01-' . $year); - $end = clone $date; + if ($shared == 'shared') { + $shared = true; + } + $date = new Carbon('01-01-' . $year); + $end = clone $date; $end->endOfYear(); $title = 'Reports'; $subTitle = $year; $subTitleIcon = 'fa-bar-chart'; $mainTitleIcon = 'fa-line-chart'; - $balances = $this->helper->yearBalanceReport($date, $includeShared); - $groupedIncomes = $this->query->journalsByRevenueAccount($date, $end, $includeShared); - $groupedExpenses = $this->query->journalsByExpenseAccount($date, $end, $includeShared); + $balances = $this->helper->yearBalanceReport($date, $shared); + $groupedIncomes = $this->query->journalsByRevenueAccount($date, $end, $shared); + $groupedExpenses = $this->query->journalsByExpenseAccount($date, $end, $shared); return view( 'reports.year', compact('date', 'groupedIncomes', 'groupedExpenses', 'year', 'balances', 'title', 'subTitle', 'subTitleIcon', 'mainTitleIcon') diff --git a/app/Http/routes.php b/app/Http/routes.php index a74cfd205c..c2cf2b3a65 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -306,10 +306,7 @@ Route::group( Route::get('/json/box/out', ['uses' => 'JsonController@boxOut', 'as' => 'json.box.out']); Route::get('/json/box/bills-unpaid', ['uses' => 'JsonController@boxBillsUnpaid', 'as' => 'json.box.paid']); Route::get('/json/box/bills-paid', ['uses' => 'JsonController@boxBillsPaid', 'as' => 'json.box.unpaid']); - Route::get('/json/show-shared-reports', 'JsonController@showSharedReports'); Route::get('/json/transaction-journals/{what}', 'JsonController@transactionJournals'); - Route::get('/json/show-shared-reports/set', 'JsonController@setSharedReports'); - /** * Piggy Bank Controller @@ -355,18 +352,14 @@ Route::group( * Report Controller */ Route::get('/reports', ['uses' => 'ReportController@index', 'as' => 'reports.index']); - Route::get('/reports/{year}', ['uses' => 'ReportController@year', 'as' => 'reports.year']); - Route::get('/reports/{year}/{month}', ['uses' => 'ReportController@month', 'as' => 'reports.month']); + //Route::get('/reports/{year}', ['uses' => 'ReportController@year', 'as' => 'reports.year'])->where(['year' => '[0-9]{4}']); + Route::get('/reports/{year}/{shared?}', ['uses' => 'ReportController@year', 'as' => 'reports.year'])->where(['year' => '[0-9]{4}','shared'=> 'shared']); + Route::get('/reports/{year}/{month}/{shared?}', ['uses' => 'ReportController@month', 'as' => 'reports.month'])->where(['year' => '[0-9]{4}','month' => '[0-9]{1,2}','shared' => 'shared']); // 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}/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/resources/twig/reports/index.twig b/resources/twig/reports/index.twig index 35f769074a..5f93a1e0c7 100644 --- a/resources/twig/reports/index.twig +++ b/resources/twig/reports/index.twig @@ -1,15 +1,6 @@ {% extends "./layout/default.twig" %} {% block content %} {{ Breadcrumbs.renderIfExists(Route.getCurrentRoute.getName) }} -
-
- --
- --
- -