public function view_hotel_portfolio_list($pageNum = NULL)
 {
     if (!$this->securitypolicy->validateAccessRight(4, 'read')) {
         $this->_redirectInvalidAccess();
     }
     $filters = new FilterCollection();
     $portfolios = new PortfolioColl();
     # Reinitialize used filters
     if ($this->input->post('filter-used')) {
         foreach ($this->input->post('filter-used') as $filterClassName => $filtersUsed) {
             foreach ($filtersUsed as $index => $filterUsed) {
                 switch ($filterClassName) {
                     case "PrtfoFltr":
                         $filter = new PrtfoFltr();
                         $data = is_int($filterUsed) ? array('id' => $filterUsed) : array('name' => $filterUsed);
                         $filterToRemove = $this->input->post('remove-filter');
                         $remove = false;
                         if (isset($filterToRemove[$filterClassName][0])) {
                             if ($filterToRemove[$filterClassName][0] == $index) {
                                 $remove = true;
                             }
                         }
                         if (!$remove) {
                             $filter->setFilter($data);
                             $filters->add($filter);
                         }
                         break;
                 }
             }
         }
     }
     # Initialize new filters
     if ($this->input->post('submit-portfolio') && $this->input->post('hotel-portfolio')) {
         $filter = new PrtfoFltr();
         $filter->setFilter(array('name' => $this->input->post('hotel-portfolio')));
         $filters->add($filter);
     }
     # Add filters to the portfolio collection
     if ($filters->count() > 0) {
         $this->_viewData['filters'] = $filters;
         foreach ($filters as $filter) {
             $portfolios->addFilter($filter);
         }
     }
     # Pagination
     $pageNum = isset($pageNum) ? $pageNum : '1';
     $currentPage = $pageNum;
     $startItem = $currentPage * 10 - $this->_pagination;
     $portfolios->setStartItem($startItem);
     $portfolios->setOffsetCount($this->_pagination);
     $portfolios->setAll();
     # Setting pagination
     $this->_viewData['portfolios'] = $portfolios;
     $this->_viewData['pagination'] = $this->_pagination;
     $this->_viewData['pages'] = ceil($portfolios->getTotalResults() / $this->_pagination);
     $this->_viewData['page'] = $currentPage;
     # Portfolio deletion message
     if ($this->_viewData['status'] == 'success' && $this->session->userdata('previous-action') == 'remove_portfolio') {
         $this->_viewData['showmsg'] = true;
     }
     $this->load->view('hotel_mngt_hotel_portfolio_list', $this->_viewData);
 }