[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Users/views/ -> List.php (source)

   1  <?php
   2  /*+**********************************************************************************
   3   * The contents of this file are subject to the vtiger CRM Public License Version 1.1
   4   * ("License"); You may not use this file except in compliance with the License
   5   * The Original Code is:  vtiger CRM Open Source
   6   * The Initial Developer of the Original Code is vtiger.
   7   * Portions created by vtiger are Copyright (C) vtiger.
   8   * All Rights Reserved.
   9   ************************************************************************************/
  10  
  11  class Users_List_View extends Settings_Vtiger_List_View {
  12  
  13  	function checkPermission(Vtiger_Request $request) {
  14          $currentUserModel = Users_Record_Model::getCurrentUserModel();
  15          if(!$currentUserModel->isAdminUser()) {
  16              throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
  17          }
  18      }
  19      
  20  	function getHeaderScripts(Vtiger_Request $request) {
  21          $headerScriptInstances = parent::getHeaderScripts($request);
  22          
  23          $jsFileNames = array(
  24              'modules.Users.resources.List',
  25              "modules.Emails.resources.MassEdit",
  26          );
  27  
  28          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
  29          $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
  30          return $headerScriptInstances;
  31      }
  32      
  33  	public function process(Vtiger_Request $request) {
  34          $viewer = $this->getViewer($request);
  35          $this->initializeListViewContents($request, $viewer);
  36          $viewer->view('ListViewContents.tpl', $request->getModule(false));
  37      }
  38  
  39      /*
  40       * Function to initialize the required data in smarty to display the List View Contents
  41       */
  42  	public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) {
  43          $moduleName = $request->getModule();
  44          $cvId = $request->get('viewname');
  45          $pageNumber = $request->get('page');
  46          $orderBy = $request->get('orderby');
  47          $sortOrder = $request->get('sortorder');
  48          if($sortOrder == "ASC"){
  49              $nextSortOrder = "DESC";
  50              $sortImage = "icon-chevron-down";
  51          }else{
  52              $nextSortOrder = "ASC";
  53              $sortImage = "icon-chevron-up";
  54          }
  55  
  56          if(empty ($pageNumber)){
  57              $pageNumber = '1';
  58          }
  59                  
  60          $status = $request->get('status');
  61          if(empty($status))
  62              $status = 'Active';
  63  
  64          $listViewModel = Vtiger_ListView_Model::getInstance($moduleName, $cvId);
  65  
  66          $linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view'), 'CVID'=>$cvId);
  67          $linkModels = $listViewModel->getListViewMassActions($linkParams);
  68                  $listViewModel->set('status', $status);
  69  
  70          $pagingModel = new Vtiger_Paging_Model();
  71          $pagingModel->set('page', $pageNumber);
  72  
  73          if(!empty($orderBy)) {
  74              $listViewModel->set('orderby', $orderBy);
  75              $listViewModel->set('sortorder',$sortOrder);
  76          }
  77  
  78          $searchKey = $request->get('search_key');
  79          $searchValue = $request->get('search_value');
  80          $operator = $request->get('operator');
  81          if(!empty($operator)) {
  82              $listViewModel->set('operator', $operator);
  83              $viewer->assign('OPERATOR',$operator);
  84              $viewer->assign('ALPHABET_VALUE',$searchValue);
  85          }
  86          if(!empty($searchKey) && !empty($searchValue)) {
  87              $listViewModel->set('search_key', $searchKey);
  88              $listViewModel->set('search_value', $searchValue);
  89          }
  90          if(!$this->listViewHeaders){
  91              $this->listViewHeaders = $listViewModel->getListViewHeaders();
  92          }
  93          if(!$this->listViewEntries){
  94              $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel);
  95          }
  96          $noOfEntries = count($this->listViewEntries);
  97  
  98          $viewer->assign('MODULE', $moduleName);
  99  
 100          if(!$this->listViewLinks){
 101              $this->listViewLinks = $listViewModel->getListViewLinks($linkParams);
 102          }
 103          $viewer->assign('LISTVIEW_LINKS', $this->listViewLinks);
 104  
 105          $viewer->assign('LISTVIEW_MASSACTIONS', $linkModels['LISTVIEWMASSACTION']);
 106  
 107          $viewer->assign('PAGING_MODEL', $pagingModel);
 108          $viewer->assign('PAGE_NUMBER',$pageNumber);
 109  
 110          $viewer->assign('ORDER_BY',$orderBy);
 111          $viewer->assign('SORT_ORDER',$sortOrder);
 112          $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder);
 113          $viewer->assign('SORT_IMAGE',$sortImage);
 114          $viewer->assign('COLUMN_NAME',$orderBy);
 115          $viewer->assign('QUALIFIED_MODULE', $moduleName);
 116          
 117          $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries);
 118          $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders);
 119          $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries);
 120  
 121          if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) {
 122              if(!$this->listViewCount){
 123                  $this->listViewCount = $listViewModel->getListViewCount();
 124              }
 125              $totalCount = $this->listViewCount;
 126              $pageLimit = $pagingModel->getPageLimit();
 127              $pageCount = ceil((int) $totalCount / (int) $pageLimit);
 128  
 129              if($pageCount == 0){
 130                  $pageCount = 1;
 131              }
 132              $viewer->assign('PAGE_COUNT', $pageCount);
 133              $viewer->assign('LISTVIEW_COUNT', $totalCount);
 134          }
 135          $viewer->assign('MODULE_MODEL', $listViewModel->getModule());
 136          $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView'));
 137          $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete'));
 138          $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
 139      }
 140      
 141      /**
 142       * Function returns the number of records for the current filter
 143       * @param Vtiger_Request $request
 144       */
 145  	function getRecordsCount(Vtiger_Request $request) {
 146          $moduleName = $request->getModule();
 147          $cvId = $request->get('viewname');
 148          $count = $this->getListViewCount($request);
 149  
 150          $result = array();
 151          $result['module'] = $moduleName;
 152          $result['viewname'] = $cvId;
 153          $result['count'] = $count;
 154  
 155          $response = new Vtiger_Response();
 156          $response->setEmitType(Vtiger_Response::$EMIT_JSON);
 157          $response->setResult($result);
 158          $response->emit();
 159      }
 160  
 161      /**
 162       * Function to get listView count
 163       * @param Vtiger_Request $request
 164       */
 165  	function getListViewCount(Vtiger_Request $request){
 166          $moduleName = $request->getModule();
 167          $cvId = $request->get('viewname');
 168          if(empty($cvId)) {
 169              $cvId = '0';
 170          }
 171  
 172          $searchKey = $request->get('search_key');
 173          $searchValue = $request->get('search_value');
 174  
 175          $listViewModel = Vtiger_ListView_Model::getInstance($moduleName, $cvId);
 176          $listViewModel->set('search_key', $searchKey);
 177          $listViewModel->set('search_value', $searchValue);
 178          $listViewModel->set('operator', $request->get('operator'));
 179  
 180          $count = $listViewModel->getListViewCount();
 181  
 182          return $count;
 183      }
 184  
 185  
 186  
 187      /**
 188       * Function to get the page count for list
 189       * @return total number of pages
 190       */
 191  	function getPageCount(Vtiger_Request $request){
 192          $listViewCount = $this->getListViewCount($request);
 193          $pagingModel = new Vtiger_Paging_Model();
 194          $pageLimit = $pagingModel->getPageLimit();
 195          $pageCount = ceil((int) $listViewCount / (int) $pageLimit);
 196  
 197          if($pageCount == 0){
 198              $pageCount = 1;
 199          }
 200          $result = array();
 201          $result['page'] = $pageCount;
 202          $result['numberOfRecords'] = $listViewCount;
 203          $response = new Vtiger_Response();
 204          $response->setResult($result);
 205          $response->emit();
 206      }
 207  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1