firefly-iii/app/controllers/HomeController.php

53 lines
1.5 KiB
PHP
Raw Normal View History

2014-06-28 02:41:44 -05:00
<?php
use Firefly\Helper\Preferences\PreferencesHelperInterface as PHI;
use Firefly\Storage\Account\AccountRepositoryInterface as ARI;
use Firefly\Storage\TransactionJournal\TransactionJournalRepositoryInterface as TJRI;
2014-07-15 15:16:29 -05:00
/**
* Class HomeController
*/
class HomeController extends BaseController
{
2014-07-15 15:16:29 -05:00
protected $_accounts;
protected $_preferences;
protected $_journal;
/**
* @param ARI $accounts
* @param PHI $preferences
* @param TJRI $journal
*/
public function __construct(ARI $accounts, PHI $preferences, TJRI $journal)
{
2014-07-15 15:16:29 -05:00
$this->_accounts = $accounts;
$this->_preferences = $preferences;
$this->_journal = $journal;
View::share('menu', 'home');
}
2014-07-15 15:16:29 -05:00
/**
* @return $this|\Illuminate\View\View
*/
public function index()
{
// get list setting:
2014-07-15 15:16:29 -05:00
$pref = $this->_preferences->get('frontpageAccounts', []);
// get the accounts to display on the home screen:
2014-07-15 15:16:29 -05:00
$count = $this->_accounts->count();
if ($pref->data == []) {
2014-07-15 15:16:29 -05:00
$list = $this->_accounts->getActiveDefault();
} else {
2014-07-15 15:16:29 -05:00
$list = $this->_accounts->getByIds($pref->data);
}
// get transactions for each account:
foreach ($list as $account) {
2014-07-15 15:16:29 -05:00
$account->transactionList = $this->_journal->getByAccount($account, 10);
}
// build the home screen:
return View::make('index')->with('count', $count)->with('accounts', $list);
}
2014-07-04 04:39:21 -05:00
}