Exemplo n.º 1
0
 public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer)
 {
     $moduleName = $request->getModule();
     $pageNumber = $request->get('page');
     $orderBy = $request->get('orderby');
     $sortOrder = $request->get('sortorder');
     $searchValue = $request->get('search_value');
     /* if(empty($orderBy) && empty($searchValue) && empty($pageNumber)) {
     	  $orderParams = Vtiger_ListView_Model::getSortParamsSession($moduleName);
     	  if($orderParams) {
     	  $pageNumber = $orderParams['page'];
     	  $orderBy = $orderParams['orderby'];
     	  $sortOrder = $orderParams['sortorder'];
     	  $searchValue = $orderParams['search_value'];
     	  }
     	  } else {
     	  $params = array('page' => $pageNumber, 'orderby' => $orderBy, 'sortorder' => $sortOrder, 'search_value' => $searchValue);
     	  Vtiger_ListView_Model::setSortParamsSession($moduleName, $params);
     	  } */
     if ($sortOrder == "ASC") {
         $nextSortOrder = "DESC";
         $sortImage = "glyphicon glyphicon-chevron-down";
     } else {
         $nextSortOrder = "ASC";
         $sortImage = "glyphicon glyphicon-chevron-up";
     }
     if (empty($pageNumber)) {
         $pageNumber = '1';
     }
     $pagingModel = new Vtiger_Paging_Model();
     $pagingModel->set('page', $pageNumber);
     $listViewModel = new Portal_ListView_Model();
     if (!empty($orderBy)) {
         $listViewModel->set('orderby', $orderBy);
         $listViewModel->set('sortorder', $sortOrder);
     }
     if (!empty($searchValue)) {
         $listViewModel->set('search_value', $searchValue);
     }
     $listviewEntries = $listViewModel->getListViewEntries($pagingModel);
     $pagingInfo = $listViewModel->calculatePageRange($listviewEntries, $pagingModel);
     $pagingModel->set('totalCount', $pagingInfo['recordCount']);
     $pageCount = $pagingModel->getPageCount();
     $startPaginFrom = $pagingModel->getStartPagingFrom();
     $viewer->assign('PAGE_NUMBER', $pageNumber);
     $viewer->assign('PAGE_COUNT', $pageCount);
     $viewer->assign('LISTVIEW_COUNT', $pagingInfo['recordCount']);
     $viewer->assign('START_PAGIN_FROM', $startPaginFrom);
     $viewer->assign('PAGING_MODEL', $pagingModel);
     $viewer->assign('LISTVIEW_ENTRIES', $listviewEntries);
     $viewer->assign('ALPHABET_VALUE', $searchValue);
     $viewer->assign('COLUMN_NAME', $orderBy);
     $viewer->assign('SORT_ORDER', $sortOrder);
     $viewer->assign('SORT_IMAGE', $sortImage);
     $viewer->assign('NEXT_SORT_ORDER', $nextSortOrder);
     $viewer->assign('RECORD_COUNT', count($listviewEntries));
     $viewer->assign('CURRENT_PAGE', $pageNumber);
     $viewer->assign('PAGING_INFO', $pagingInfo);
 }
Exemplo n.º 2
0
 public function getPagination(Vtiger_Request $request)
 {
     parent::preProcess($request, false);
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $pageNumber = $request->get('page');
     $orderBy = $request->get('orderby');
     $sortOrder = $request->get('sortorder');
     $searchValue = $request->get('search_value');
     if ($sortOrder == "ASC") {
         $nextSortOrder = "DESC";
         $sortImage = "glyphicon glyphicon-chevron-down";
     } else {
         $nextSortOrder = "ASC";
         $sortImage = "glyphicon glyphicon-chevron-up";
     }
     if (empty($pageNumber)) {
         $pageNumber = '1';
     }
     $pagingModel = new Vtiger_Paging_Model();
     $pagingModel->set('page', $pageNumber);
     $listViewModel = new Portal_ListView_Model();
     if (!empty($orderBy)) {
         $listViewModel->set('orderby', $orderBy);
         $listViewModel->set('sortorder', $sortOrder);
     }
     if (!empty($searchValue)) {
         $listViewModel->set('search_value', $searchValue);
     }
     $listviewEntries = $listViewModel->getListViewEntries($pagingModel);
     $pagingInfo = $listViewModel->calculatePageRange($listviewEntries, $pagingModel);
     $pagingModel->set('totalCount', $pagingInfo['recordCount']);
     $pageCount = $pagingModel->getPageCount();
     $startPaginFrom = $pagingModel->getStartPagingFrom();
     $viewer->assign('PAGE_NUMBER', $pageNumber);
     $viewer->assign('PAGE_COUNT', $pageCount);
     $viewer->assign('LISTVIEW_COUNT', $pagingInfo['recordCount']);
     $viewer->assign('START_PAGIN_FROM', $startPaginFrom);
     $viewer->assign('PAGING_MODEL', $pagingModel);
     $viewer->assign('LISTVIEW_ENTRIES', $listviewEntries);
     $viewer->assign('ALPHABET_VALUE', $searchValue);
     $viewer->assign('COLUMN_NAME', $orderBy);
     $viewer->assign('SORT_ORDER', $sortOrder);
     $viewer->assign('SORT_IMAGE', $sortImage);
     $viewer->assign('NEXT_SORT_ORDER', $nextSortOrder);
     $viewer->assign('RECORD_COUNT', count($listviewEntries));
     $viewer->assign('CURRENT_PAGE', $pageNumber);
     $viewer->assign('PAGING_INFO', $pagingInfo);
     echo $viewer->view('Pagination.tpl', $moduleName, true);
 }
Exemplo n.º 3
0
 public function calculatePageRange($record, $pagingModel)
 {
     $pageLimit = $pagingModel->getPageLimit();
     $page = $pagingModel->get('page');
     $startSequence = ($page - 1) * $pageLimit + 1;
     $endSequence = $startSequence + count($record) - 1;
     $recordCount = Portal_ListView_Model::getRecordCount();
     $pageCount = intval($recordCount / $pageLimit);
     if ($recordCount % $pageLimit != 0) {
         $pageCount++;
     }
     if ($pageCount == 0) {
         $pageCount = 1;
     }
     if ($page < $pageCount) {
         $nextPageExists = true;
     } else {
         $nextPageExists = false;
     }
     $result = array('startSequence' => $startSequence, 'endSequence' => $endSequence, 'recordCount' => $recordCount, 'pageCount' => $pageCount, 'nextPageExists' => $nextPageExists, 'pageLimit' => $pageLimit);
     return $result;
 }