[ 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 Settings_Vtiger_List_View extends Settings_Vtiger_Index_View { 12 protected $listViewEntries = false; 13 protected $listViewHeaders = false; 14 15 function __construct() { 16 parent::__construct(); 17 } 18 19 function preProcess(Vtiger_Request $request, $display=true) { 20 parent::preProcess($request, false); 21 22 $viewer = $this->getViewer($request); 23 $this->initializeListViewContents($request, $viewer); 24 $sourceModule = $request->get('sourceModule'); 25 $viewer->assign('SOURCE_MODULE', $sourceModule); 26 $viewer->view('ListViewHeader.tpl', $request->getModule(false)); 27 } 28 29 public function process(Vtiger_Request $request) { 30 $viewer = $this->getViewer($request); 31 $this->initializeListViewContents($request, $viewer); 32 $viewer->view('ListViewContents.tpl', $request->getModule(false)); 33 } 34 35 /* 36 * Function to initialize the required data in smarty to display the List View Contents 37 */ 38 public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) { 39 $moduleName = $request->getModule(); 40 $qualifiedModuleName = $request->getModule(false); 41 $pageNumber = $request->get('page'); 42 $orderBy = $request->get('orderby'); 43 $sortOrder = $request->get('sortorder'); 44 $sourceModule = $request->get('sourceModule'); 45 $forModule = $request->get('formodule'); 46 47 $searchKey = $request->get('search_key'); 48 $searchValue = $request->get('search_value'); 49 50 if($sortOrder == "ASC"){ 51 $nextSortOrder = "DESC"; 52 $sortImage = "icon-chevron-down"; 53 }else{ 54 $nextSortOrder = "ASC"; 55 $sortImage = "icon-chevron-up"; 56 } 57 if(empty($pageNumber)) { 58 $pageNumber = 1; 59 } 60 61 $listViewModel = Settings_Vtiger_ListView_Model::getInstance($qualifiedModuleName); 62 63 $pagingModel = new Vtiger_Paging_Model(); 64 $pagingModel->set('page', $pageNumber); 65 66 if(!empty($searchKey) && !empty($searchValue)) { 67 $listViewModel->set('search_key', $searchKey); 68 $listViewModel->set('search_value', $searchValue); 69 } 70 71 if(!empty($orderBy)) { 72 $listViewModel->set('orderby', $orderBy); 73 $listViewModel->set('sortorder',$sortOrder); 74 } 75 if(!empty($sourceModule)) { 76 $listViewModel->set('sourceModule', $sourceModule); 77 } 78 if(!empty($forModule)) { 79 $listViewModel->set('formodule', $forModule); 80 } 81 if(!$this->listViewHeaders){ 82 $this->listViewHeaders = $listViewModel->getListViewHeaders(); 83 } 84 if(!$this->listViewEntries){ 85 $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel); 86 } 87 $noOfEntries = count($this->listViewEntries); 88 if(!$this->listViewLinks){ 89 $this->listViewLinks = $listViewModel->getListViewLinks(); 90 } 91 $viewer->assign('LISTVIEW_LINKS', $this->listViewLinks); 92 93 $viewer->assign('MODULE', $moduleName); 94 $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); 95 $viewer->assign('MODULE_MODEL', $listViewModel->getModule()); 96 97 $viewer->assign('PAGING_MODEL', $pagingModel); 98 $viewer->assign('PAGE_NUMBER',$pageNumber); 99 100 $viewer->assign('ORDER_BY',$orderBy); 101 $viewer->assign('SORT_ORDER',$sortOrder); 102 $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder); 103 $viewer->assign('SORT_IMAGE',$sortImage); 104 $viewer->assign('COLUMN_NAME',$orderBy); 105 106 $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries); 107 $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); 108 $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); 109 $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel()); 110 111 if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) { 112 if(!$this->listViewCount){ 113 $this->listViewCount = $listViewModel->getListViewCount(); 114 } 115 $totalCount = $this->listViewCount; 116 $pageLimit = $pagingModel->getPageLimit(); 117 $pageCount = ceil((int) $totalCount / (int) $pageLimit); 118 119 if($pageCount == 0){ 120 $pageCount = 1; 121 } 122 $viewer->assign('PAGE_COUNT', $pageCount); 123 $viewer->assign('LISTVIEW_COUNT', $totalCount); 124 } 125 } 126 127 /** 128 * Function to get the list of Script models to be included 129 * @param Vtiger_Request $request 130 * @return <Array> - List of Vtiger_JsScript_Model instances 131 */ 132 function getHeaderScripts(Vtiger_Request $request) { 133 $headerScriptInstances = parent::getHeaderScripts($request); 134 $moduleName = $request->getModule(); 135 136 $jsFileNames = array( 137 'modules.Vtiger.resources.List', 138 'modules.Settings.Vtiger.resources.List', 139 "modules.Settings.$moduleName.resources.List", 140 "modules.Settings.Vtiger.resources.$moduleName", 141 ); 142 143 $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); 144 $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); 145 return $headerScriptInstances; 146 } 147 }
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 |