[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |