public function showDepositsCatalog()
 {
     $page = $this->node;
     $tree = Collector::get('root');
     $subTree = Tree::getSubTree($tree, $page);
     $blocks = null;
     $calculations = array();
     if ($subTree) {
         $blocks = $subTree->children;
         $depositsContainer = $blocks->filter(function ($block) {
             return $block->slug == 'products';
         });
         if ($depositsContainer->isEmpty()) {
             $deposits = array();
         } else {
             $deposits = $depositsContainer->first()->children;
         }
         $filteredDepositEntities = Cache::tags('deposits')->rememberForever('deposits_default_' . App::getLocale(), function () {
             return Deposit::amountFrom(3000)->terms(array(0, 3))->withoutMonthly()->currency('uah')->get();
         });
         $filteredDepositEntitiesIds = array();
         foreach ($filteredDepositEntities as $filteredDepositEntity) {
             $filteredDepositEntitiesIds[] = $filteredDepositEntity->id_tb_tree;
         }
         Tree::setDepositsCompared($filteredDepositEntitiesIds);
         $deposits = Tree::filterDepositsByIds($deposits, $filteredDepositEntitiesIds);
         $maxPercents = Deposit::prepareMaxPercents($filteredDepositEntities);
         $depositOptionsGroups = Deposit::prepareData($filteredDepositEntities);
         $calculator = new DepositCalculator();
         $calculator->setDepositAmount(Settings::get('deposit_amount_default', 100000));
         $calculator->setTerm(Settings::get('term_default', 3));
         $calculator->setMonthlyInstallment(0);
         $calculator->setCurrency('uah');
         $calculator->setInterestPaymentType($maxPercents['max_percent_type']);
         $calculator->setInterestPaymentPercent($maxPercents['max_percent']);
         $calculator->setIsMain(false);
         $calculations = $calculator->calculate();
     }
     return View::make('private-persons.deposits.catalog', compact('page', 'blocks', 'deposits', 'depositOptionsGroups', 'maxPercents', 'calculations'));
 }