[ 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 Products_PriceBookProductPopup_View extends Vtiger_Popup_View { 12 13 function process (Vtiger_Request $request) { 14 $viewer = $this->getViewer ($request); 15 $moduleName = $request->getModule(); 16 $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById(); 17 $companyLogo = $companyDetails->getLogo(); 18 19 $this->initializeListViewContents($request, $viewer); 20 21 $viewer->assign('MODULE_NAME',$moduleName); 22 $viewer->assign('COMPANY_LOGO',$companyLogo); 23 $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); 24 25 $viewer->view('PriceBookProductPopup.tpl', 'Products'); 26 } 27 28 /** 29 * Function to get the list of Script models to be included 30 * @param Vtiger_Request $request 31 * @return <Array> - List of Vtiger_JsScript_Model instances 32 */ 33 function getHeaderScripts(Vtiger_Request $request) { 34 $headerScriptInstances = parent::getHeaderScripts($request); 35 $moduleName = $request->get('src_module'); 36 $jsFileNames = array( 37 "modules.$moduleName.resources.PriceBooksPopup", 38 'modules.Vtiger.resources.validator.BaseValidator', 39 'modules.Vtiger.resources.validator.FieldValidator', 40 "modules.$moduleName.resources.validator.FieldValidator" 41 ); 42 43 $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); 44 $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); 45 46 return $headerScriptInstances; 47 } 48 49 /* 50 * Function to initialize the required data in smarty to display the List View Contents 51 */ 52 public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) { 53 $moduleName = $request->getModule(); 54 $cvId = $request->get('cvid'); 55 $pageNumber = $request->get('page'); 56 $orderBy = $request->get('orderby'); 57 $sortOrder = $request->get('sortorder'); 58 $sourceModule = $request->get('src_module'); 59 $sourceField = $request->get('src_field'); 60 $sourceRecord = $request->get('src_record'); 61 $searchKey = $request->get('search_key'); 62 $searchValue = $request->get('search_value'); 63 64 if(empty($cvId)) { 65 $cvId = '0'; 66 } 67 if(empty ($pageNumber)){ 68 $pageNumber = '1'; 69 } 70 71 $pagingModel = new Vtiger_Paging_Model(); 72 $pagingModel->set('page', $pageNumber); 73 74 $moduleModel = Vtiger_Module_Model::getInstance($moduleName); 75 $listViewModel = Vtiger_ListView_Model::getInstanceForPopup($moduleName); 76 77 $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); 78 79 if(!empty($orderBy)) { 80 $listViewModel->set('orderby', $orderBy); 81 $listViewModel->set('sortorder', $sortOrder); 82 } 83 if(!empty($sourceModule)) { 84 $listViewModel->set('src_module', $sourceModule); 85 $listViewModel->set('src_field', $sourceField); 86 $listViewModel->set('src_record', $sourceRecord); 87 $sourceRecordModel = Vtiger_Record_Model::getInstanceById($sourceRecord, $sourceModule); 88 $currencyId = $sourceRecordModel->get('currency_id'); 89 } 90 if((!empty($searchKey)) && (!empty($searchValue))) { 91 $listViewModel->set('search_key', $searchKey); 92 $listViewModel->set('search_value', $searchValue); 93 } 94 95 if(!$this->listViewHeaders){ 96 $this->listViewHeaders = $listViewModel->getListViewHeaders(); 97 } 98 if(!$this->listViewEntries){ 99 $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel); 100 } 101 102 if ($currencyId) { 103 foreach ($this->listViewEntries as $recordId => $recordModel) { 104 $productIdsList[$recordId] = $recordId; 105 } 106 $unitPricesList = $moduleModel->getPricesForProducts($currencyId, $productIdsList); 107 108 foreach ($this->listViewEntries as $recordId => $recordModel) { 109 $recordModel->set('unit_price', $unitPricesList[$recordId]); 110 } 111 } 112 113 $noOfEntries = count($this->listViewEntries); 114 115 if(empty($sortOrder)){ 116 $sortOrder = "ASC"; 117 } 118 if($sortOrder == "ASC"){ 119 $nextSortOrder = "DESC"; 120 $sortImage = "downArrowSmall.png"; 121 }else{ 122 $nextSortOrder = "ASC"; 123 $sortImage = "upArrowSmall.png"; 124 } 125 $viewer->assign('MODULE', $request->getModule()); 126 127 $viewer->assign('SOURCE_MODULE', $sourceModule); 128 $viewer->assign('SOURCE_FIELD', $sourceField); 129 $viewer->assign('SOURCE_RECORD', $sourceRecord); 130 //PARENT_MODULE is used for only translations 131 $viewer->assign('PARENT_MODULE', 'Products'); 132 133 $viewer->assign('SEARCH_KEY', $searchKey); 134 $viewer->assign('SEARCH_VALUE', $searchValue); 135 136 $viewer->assign('ORDER_BY',$orderBy); 137 $viewer->assign('SORT_ORDER',$sortOrder); 138 $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder); 139 $viewer->assign('SORT_IMAGE',$sortImage); 140 141 $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); 142 $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); 143 144 $viewer->assign('PAGING_MODEL', $pagingModel); 145 $viewer->assign('PAGE_NUMBER',$pageNumber); 146 147 $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries); 148 $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); 149 $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); 150 151 $viewer->assign('VIEW', 'PriceBookProductPopup'); 152 } 153 154 }
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 |