[ 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 EmailTemplates_List_View extends Vtiger_Index_View { 12 13 function __construct() { 14 parent::__construct(); 15 } 16 17 function preProcess (Vtiger_Request $request, $display=true) { 18 parent::preProcess($request, false); 19 20 $viewer = $this->getViewer ($request); 21 $moduleName = $request->getModule(); 22 23 $listViewModel = EmailTemplates_ListView_Model::getInstance($moduleName); 24 25 $linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view')); 26 $quickLinkModels = $listViewModel->getSideBarLinks($linkParams); 27 28 $viewer->assign('QUICK_LINKS', $quickLinkModels); 29 30 $this->initializeListViewContents($request, $viewer); 31 32 if($display) { 33 $this->preProcessDisplay($request); 34 } 35 } 36 37 function preProcessTplName(Vtiger_Request $request) { 38 return 'ListViewPreProcess.tpl'; 39 } 40 41 function process (Vtiger_Request $request) { 42 $viewer = $this->getViewer ($request); 43 $moduleName = $request->getModule(); 44 $moduleModel = Vtiger_Module_Model::getInstance($moduleName); 45 46 $this->initializeListViewContents($request, $viewer); 47 $viewer->assign('VIEW', $request->get('view')); 48 $viewer->assign('MODULE_MODEL', $moduleModel); 49 $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel()); 50 $viewer->view('ListViewContents.tpl', $moduleName); 51 } 52 53 54 function postProcess(Vtiger_Request $request) { 55 $viewer = $this->getViewer ($request); 56 $moduleName = $request->getModule(); 57 58 $viewer->view('ListViewPostProcess.tpl', $moduleName); 59 parent::postProcess($request); 60 } 61 62 /* 63 * Function to initialize the required data in smarty to display the List View Contents 64 */ 65 public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) { 66 $moduleName = $request->getModule(); 67 $cvId = $request->get('viewname'); 68 $pageNumber = $request->get('page'); 69 $orderBy = $request->get('orderby'); 70 $sortOrder = $request->get('sortorder'); 71 if($sortOrder == "ASC"){ 72 $nextSortOrder = "DESC"; 73 $sortImage = "icon-chevron-down"; 74 }else{ 75 $nextSortOrder = "ASC"; 76 $sortImage = "icon-chevron-up"; 77 } 78 79 if(empty ($pageNumber)){ 80 $pageNumber = '1'; 81 } 82 83 $listViewModel = EmailTemplates_ListView_Model::getInstance($moduleName, $cvId); 84 $linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view'), 'CVID'=>$cvId); 85 $linkModels = $listViewModel->getListViewMassActions($linkParams); 86 $pagingModel = new Vtiger_Paging_Model(); 87 $pagingModel->set('page', $pageNumber); 88 89 if(!empty($orderBy)) { 90 $listViewModel->set('orderby', $orderBy); 91 $listViewModel->set('sortorder',$sortOrder); 92 } 93 94 $searchKey = $request->get('search_key'); 95 $searchValue = $request->get('search_value'); 96 $operator = $request->get('operator'); 97 if(!empty($operator)) { 98 $listViewModel->set('operator', $operator); 99 $viewer->assign('OPERATOR',$operator); 100 $viewer->assign('ALPHABET_VALUE',$searchValue); 101 } 102 if(!empty($searchKey) && !empty($searchValue)) { 103 $listViewModel->set('search_key', $searchKey); 104 $listViewModel->set('search_value', $searchValue); 105 } 106 if(!$this->listViewHeaders){ 107 $this->listViewHeaders = $listViewModel->getListViewHeaders(); 108 } 109 if(!$this->listViewEntries){ 110 $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel); 111 } 112 $noOfEntries = count($this->listViewEntries); 113 $viewer->assign('VIEWID', $cvId); 114 $viewer->assign('MODULE', $moduleName); 115 116 if(!$this->listViewLinks){ 117 $this->listViewLinks = $listViewModel->getListViewLinks($linkParams); 118 } 119 $viewer->assign('LISTVIEW_LINKS', $this->listViewLinks); 120 $viewer->assign('LISTVIEW_MASSACTIONS', $linkModels['LISTVIEWMASSACTION']); 121 122 $viewer->assign('PAGING_MODEL', $pagingModel); 123 $viewer->assign('PAGE_NUMBER',$pageNumber); 124 125 $viewer->assign('ORDER_BY',$orderBy); 126 $viewer->assign('SORT_ORDER',$sortOrder); 127 $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder); 128 $viewer->assign('SORT_IMAGE',$sortImage); 129 $viewer->assign('COLUMN_NAME',$orderBy); 130 131 $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries); 132 $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); 133 $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); 134 135 if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) { 136 if(!$this->listViewCount){ 137 $this->listViewCount = $listViewModel->getListViewCount(); 138 } 139 $viewer->assign('LISTVIEW_COUNT', $this->listViewCount); 140 } 141 142 $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView')); 143 $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete')); 144 } 145 146 /** 147 * Function returns the number of records for the current filter 148 * @param Vtiger_Request $request 149 */ 150 function getRecordsCount(Vtiger_Request $request) { 151 $moduleName = $request->getModule(); 152 $count = $this->getListViewCount($request); 153 154 $result = array(); 155 $result['module'] = $moduleName; 156 $result['count'] = $count; 157 158 $response = new Vtiger_Response(); 159 $response->setEmitType(Vtiger_Response::$EMIT_JSON); 160 $response->setResult($result); 161 $response->emit(); 162 } 163 164 /** 165 * Function to get listView count 166 * @param Vtiger_Request $request 167 */ 168 function getListViewCount(Vtiger_Request $request){ 169 $moduleName = $request->getModule(); 170 $searchKey = $request->get('search_key'); 171 $searchValue = $request->get('search_value'); 172 173 $listViewModel = EmailTemplates_ListView_Model::getInstance($moduleName); 174 $listViewModel->set('search_key', $searchKey); 175 $listViewModel->set('search_value', $searchValue); 176 $listViewModel->set('operator', $request->get('operator')); 177 178 return $listViewModel->getListViewCount(); 179 } 180 181 182 183 /** 184 * Function to get the page count for list 185 * @return total number of pages 186 */ 187 function getPageCount(Vtiger_Request $request){ 188 $listViewCount = $this->getListViewCount($request); 189 $pagingModel = new Vtiger_Paging_Model(); 190 $pageLimit = $pagingModel->getPageLimit(); 191 $pageCount = ceil((int) $listViewCount / (int) $pageLimit); 192 193 $result = array(); 194 $result['page'] = $pageCount; 195 $result['numberOfRecords'] = $listViewCount; 196 $response = new Vtiger_Response(); 197 $response->setResult($result); 198 $response->emit(); 199 } 200 201 /** 202 * Function to get the list of Script models to be included 203 * @param Vtiger_Request $request 204 * @return <Array> - List of Vtiger_JsScript_Model instances 205 */ 206 function getHeaderScripts(Vtiger_Request $request) { 207 $headerScriptInstances = parent::getHeaderScripts($request); 208 209 $jsFileNames = array( 210 'modules.Vtiger.resources.List', 211 ); 212 213 $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); 214 $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); 215 return $headerScriptInstances; 216 } 217 218 }
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 |