[ 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 Inventory_SubProductsPopup_View extends Vtiger_Popup_View { 12 13 /** 14 * Function returns module name for which Popup will be initialized 15 * @param type $request 16 */ 17 function getModule($request) { 18 return 'Products'; 19 } 20 21 function process (Vtiger_Request $request) { 22 $viewer = $this->getViewer ($request); 23 $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById(); 24 $companyLogo = $companyDetails->getLogo(); 25 26 $this->initializeListViewContents($request, $viewer); 27 28 $viewer->assign('MODULE_NAME',$moduleName); 29 $viewer->assign('COMPANY_LOGO',$companyLogo); 30 31 $moduleName = 'Inventory'; 32 $viewer->assign('MODULE_NAME',$moduleName); 33 $viewer->view('PopupEntries.tpl', $moduleName); 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 //src_module value is added to just to stop showing inactive products 40 $request->set('src_module', $request->getModule()); 41 42 $moduleName = $this->getModule($request); 43 $cvId = $request->get('cvid'); 44 $pageNumber = $request->get('page'); 45 $orderBy = $request->get('orderby'); 46 $sortOrder = $request->get('sortorder'); 47 $sourceField = $request->get('src_field'); 48 $sourceRecord = $request->get('src_record'); 49 $searchKey = $request->get('search_key'); 50 $searchValue = $request->get('search_value'); 51 $currencyId = $request->get('currency_id'); 52 53 //To handle special operation when selecting record from Popup 54 $getUrl = $request->get('get_url'); 55 56 // To handle subproducts in popup view 57 $subProductsPopup = $request->get('subProductsPopup'); 58 $parentProductId = $request->get('productid'); 59 60 //Check whether the request is in multi select mode 61 $multiSelectMode = $request->get('multi_select'); 62 if(empty($multiSelectMode)) { 63 $multiSelectMode = false; 64 } 65 66 if(empty($cvId)) { 67 $cvId = '0'; 68 } 69 if(empty ($pageNumber)){ 70 $pageNumber = '1'; 71 } 72 73 $pagingModel = new Vtiger_Paging_Model(); 74 $pagingModel->set('page', $pageNumber); 75 76 $moduleModel = Vtiger_Module_Model::getInstance($moduleName); 77 $listViewModel = Vtiger_ListView_Model::getInstanceForPopup($moduleName); 78 $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); 79 80 if(!empty($orderBy)) { 81 $listViewModel->set('orderby', $orderBy); 82 $listViewModel->set('sortorder', $sortOrder); 83 } 84 if(!empty($sourceModule)) { 85 $listViewModel->set('src_module', $sourceModule); 86 $listViewModel->set('src_field', $sourceField); 87 $listViewModel->set('src_record', $sourceRecord); 88 } 89 if((!empty($searchKey)) && (!empty($searchValue))) { 90 $listViewModel->set('search_key', $searchKey); 91 $listViewModel->set('search_value', $searchValue); 92 } 93 94 if($subProductsPopup && $parentProductId){ 95 $listViewModel->set('subProductsPopup', true); 96 $listViewModel->set('productId', $parentProductId); 97 $viewer->assign('SUBPRODUCTS_POPUP', $subProductsPopup); 98 $viewer->assign('PARENT_PRODUCT_ID', $parentProductId); 99 } 100 101 if(!$this->listViewHeaders){ 102 $this->listViewHeaders = $listViewModel->getListViewHeaders(); 103 } 104 105 if(!$this->listViewEntries){ 106 $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel); 107 } 108 109 $noOfEntries = count($this->listViewEntries); 110 111 if(empty($sortOrder)){ 112 $sortOrder = "ASC"; 113 } 114 if($sortOrder == "ASC"){ 115 $nextSortOrder = "DESC"; 116 $sortImage = "downArrowSmall.png"; 117 }else{ 118 $nextSortOrder = "ASC"; 119 $sortImage = "upArrowSmall.png"; 120 } 121 $viewer->assign('MODULE', $moduleName); 122 123 $viewer->assign('SOURCE_MODULE', $sourceModule); 124 $viewer->assign('SOURCE_FIELD', $sourceField); 125 $viewer->assign('SOURCE_RECORD', $sourceRecord); 126 127 $viewer->assign('SEARCH_KEY', $searchKey); 128 $viewer->assign('SEARCH_VALUE', $searchValue); 129 130 $viewer->assign('ORDER_BY',$orderBy); 131 $viewer->assign('SORT_ORDER',$sortOrder); 132 $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder); 133 $viewer->assign('SORT_IMAGE',$sortImage); 134 $viewer->assign('GETURL', $getUrl); 135 $viewer->assign('CURRENCY_ID', $currencyId); 136 137 $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); 138 $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); 139 140 $viewer->assign('PAGING_MODEL', $pagingModel); 141 $viewer->assign('PAGE_NUMBER',$pageNumber); 142 143 $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries); 144 $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); 145 $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); 146 147 if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) { 148 if(!$this->listViewCount){ 149 $this->listViewCount = $listViewModel->getListViewCount(); 150 } 151 $totalCount = $this->listViewCount; 152 $pageLimit = $pagingModel->getPageLimit(); 153 $pageCount = ceil((int) $totalCount / (int) $pageLimit); 154 155 if($pageCount == 0){ 156 $pageCount = 1; 157 } 158 $viewer->assign('PAGE_COUNT', $pageCount); 159 $viewer->assign('LISTVIEW_COUNT', $totalCount); 160 } 161 162 $viewer->assign('MULTI_SELECT', $multiSelectMode); 163 $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel()); 164 165 $viewer->assign('MODULE', $request->getModule()); 166 $viewer->assign('GETURL', 'getTaxesURL'); 167 $viewer->assign('VIEW', 'SubProductsPopup'); 168 $viewer->assign('MAIN_PRODUCT_POPUP', true); 169 } 170 /** 171 * Function to get listView count 172 * @param Vtiger_Request $request 173 */ 174 function getListViewCount(Vtiger_Request $request){ 175 $moduleName = $this->getModule($request); 176 $sourceModule = $request->get('src_module'); 177 $sourceField = $request->get('src_field'); 178 $sourceRecord = $request->get('src_record'); 179 $orderBy = $request->get('orderby'); 180 $sortOrder = $request->get('sortorder'); 181 182 $searchKey = $request->get('search_key'); 183 $searchValue = $request->get('search_value'); 184 $subProductsPopup = $request->get('subProductsPopup'); 185 $parentProductId = $request->get('productid'); 186 187 $listViewModel = Vtiger_ListView_Model::getInstanceForPopup($moduleName); 188 if(!empty($sourceModule)) { 189 $listViewModel->set('src_module', $sourceModule); 190 $listViewModel->set('src_field', $sourceField); 191 $listViewModel->set('src_record', $sourceRecord); 192 } 193 194 if(!empty($orderBy)) { 195 $listViewModel->set('orderby', $orderBy); 196 $listViewModel->set('sortorder', $sortOrder); 197 } 198 if((!empty($searchKey)) && (!empty($searchValue))) { 199 $listViewModel->set('search_key', $searchKey); 200 $listViewModel->set('search_value', $searchValue); 201 } 202 if($subProductsPopup && $parentProductId){ 203 $listViewModel->set('subProductsPopup', true); 204 $listViewModel->set('productId', $parentProductId); 205 } 206 $count = $listViewModel->getListViewCount(); 207 208 return $count; 209 } 210 211 /** 212 * Function to get the page count for list 213 * @return total number of pages 214 */ 215 function getPageCount(Vtiger_Request $request){ 216 $listViewCount = $this->getListViewCount($request); 217 $pagingModel = new Vtiger_Paging_Model(); 218 $pageLimit = $pagingModel->getPageLimit(); 219 $pageCount = ceil((int) $listViewCount / (int) $pageLimit); 220 221 if($pageCount == 0){ 222 $pageCount = 1; 223 } 224 $result = array(); 225 $result['page'] = $pageCount; 226 $result['numberOfRecords'] = $listViewCount; 227 $response = new Vtiger_Response(); 228 $response->setResult($result); 229 $response->emit(); 230 } 231 }
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 |