mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-17 07:08:19 +00:00
Some new report data. Also, the report page now uses in excess of 3000 queries. Lol
This commit is contained in:
@@ -34,8 +34,9 @@ class AccountController extends BaseController
|
||||
$subTitleIcon = 'fa-download';
|
||||
break;
|
||||
}
|
||||
$subTitle = 'Create a new ' . $what . ' account';
|
||||
|
||||
return View::make('accounts.create')->with('subTitle', 'Create a new ' . $what . ' account')->with('what', $what)->with(compact('subTitleIcon'));
|
||||
return View::make('accounts.create', compact('subTitleIcon', 'what', 'subTitle'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -45,9 +46,9 @@ class AccountController extends BaseController
|
||||
*/
|
||||
public function delete(Account $account)
|
||||
{
|
||||
return View::make('accounts.delete')->with('account', $account)->with(
|
||||
'subTitle', 'Delete ' . strtolower($account->accountType->type) . ' "' . $account->name . '"'
|
||||
);
|
||||
$subTitle = 'Delete ' . strtolower($account->accountType->type) . ' "' . $account->name . '"';
|
||||
|
||||
return View::make('accounts.delete', compact('account', 'subTitle'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,29 +99,31 @@ class AccountController extends BaseController
|
||||
}
|
||||
|
||||
/*
|
||||
* Delete it
|
||||
* Delete the initial balance as well.
|
||||
*/
|
||||
if ($initialBalance) {
|
||||
$acct->destroy($initialBalance);
|
||||
}
|
||||
$name = $account->name;
|
||||
|
||||
$acct->destroy($account);
|
||||
|
||||
Session::flash('success', 'The account was deleted.');
|
||||
|
||||
$return = 'asset';
|
||||
switch ($type) {
|
||||
case 'Asset account':
|
||||
case 'Default account':
|
||||
return Redirect::route('accounts.index', 'asset');
|
||||
break;
|
||||
case 'Expense account':
|
||||
case 'Beneficiary account':
|
||||
return Redirect::route('accounts.index', 'expense');
|
||||
$return = 'expense';
|
||||
break;
|
||||
case 'Revenue account':
|
||||
return Redirect::route('accounts.index', 'revenue');
|
||||
$return = 'revenue';
|
||||
break;
|
||||
}
|
||||
|
||||
Session::flash('success', 'The ' . $return . ' account "' . e($name) . '" was deleted.');
|
||||
|
||||
return Redirect::route('accounts.index', $return);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -221,23 +221,67 @@ class ReportController extends BaseController
|
||||
*/
|
||||
public function year($year)
|
||||
{
|
||||
Config::set('app.debug',false);
|
||||
try {
|
||||
$date = new Carbon('01-01-' . $year);
|
||||
} catch (Exception $e) {
|
||||
App::abort(500);
|
||||
}
|
||||
$date = new Carbon('01-01-' . $year);
|
||||
|
||||
/** @var \FireflyIII\Database\TransactionJournal $tj */
|
||||
$tj = App::make('FireflyIII\Database\TransactionJournal');
|
||||
|
||||
/** @var \FireflyIII\Database\Account $accountRepository */
|
||||
$accountRepository = App::make('FireflyIII\Database\Account');
|
||||
|
||||
/** @var \FireflyIII\Database\Report $reportRepository */
|
||||
$reportRepository = App::make('FireflyIII\Database\Report');
|
||||
|
||||
$accounts = $accountRepository->getAssetAccounts();
|
||||
|
||||
// get some sums going
|
||||
$summary = [];
|
||||
|
||||
/** @var \Account $account */
|
||||
$accounts->each(
|
||||
function (\Account $account) {
|
||||
if ($account->getMeta('accountRole') == 'sharedExpense') {
|
||||
$account->sharedExpense = true;
|
||||
} else {
|
||||
$account->sharedExpense = false;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
$end = clone $date;
|
||||
$end->endOfYear();
|
||||
while ($date < $end) {
|
||||
$summary[] = ['month' => $date->format('F'), 'income' => $tj->getSumOfIncomesByMonth($date), 'expense' => $tj->getSumOfExpensesByMonth($date),];
|
||||
$month = $date->format('F');
|
||||
|
||||
$income = 0;
|
||||
$incomeShared = 0;
|
||||
$expense = 0;
|
||||
$expenseShared = 0;
|
||||
|
||||
foreach ($accounts as $account) {
|
||||
if ($account->sharedExpense === true) {
|
||||
$incomeShared += $reportRepository->getIncomeByMonth($account, $date);
|
||||
$expenseShared += $reportRepository->getExpenseByMonth($account, $date);
|
||||
} else {
|
||||
$income += $reportRepository->getIncomeByMonth($account, $date);
|
||||
$expense += $reportRepository->getExpenseByMonth($account, $date);
|
||||
}
|
||||
}
|
||||
|
||||
$summary[] = [
|
||||
'month' => $month,
|
||||
'income' => $income,
|
||||
'expense' => $expense,
|
||||
'incomeShared' => $incomeShared,
|
||||
'expenseShared' => $expenseShared,
|
||||
];
|
||||
$date->addMonth();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user