[ 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 PriceBooks_ProductPriceBookPopup_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('ProductPriceBookPopup.tpl', 'PriceBooks'); 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.Products.resources.ProductsPopup", 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 84 if(!empty($sourceModule)) { 85 $listViewModel->set('src_module', $sourceModule); 86 $listViewModel->set('src_field', $sourceField); 87 $listViewModel->set('src_record', $sourceRecord); 88 $sourceRecordModel = Vtiger_Record_Model::getInstanceById($sourceRecord, $sourceModule); 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 //get the unit prices for the pricebooks based on the product currency 103 $productUnitPrice = Vtiger_Functions::getUnitPrice($sourceRecord, $sourceModule); 104 $productPriceDetails = getPriceDetailsForProduct($sourceRecord, $productUnitPrice, 'available', $sourceModule); 105 106 $productCurrencyPrice = array(); 107 foreach ($productPriceDetails as $priceDetails) { 108 $productCurrencyPrice[$priceDetails['curid']] = $priceDetails['curvalue']; 109 } 110 111 foreach ($this->listViewEntries as $recordId => $recordModel) { 112 $recordDetails = $recordModel->getRawData(); 113 $priceBookCurrencyId = $recordDetails['currency_id']; 114 $recordModel->set('unit_price', $productCurrencyPrice[$priceBookCurrencyId]); 115 } 116 117 $noOfEntries = count($this->listViewEntries); 118 119 if(empty($sortOrder)){ 120 $sortOrder = "ASC"; 121 } 122 if($sortOrder == "ASC"){ 123 $nextSortOrder = "DESC"; 124 $sortImage = "downArrowSmall.png"; 125 }else{ 126 $nextSortOrder = "ASC"; 127 $sortImage = "upArrowSmall.png"; 128 } 129 130 $viewer->assign('MODULE', $moduleName); 131 132 $viewer->assign('SOURCE_MODULE', $sourceModule); 133 $viewer->assign('SOURCE_FIELD', $sourceField); 134 $viewer->assign('SOURCE_RECORD', $sourceRecord); 135 $viewer->assign('SOURCE_RECORD_MODEL', $sourceRecordModel); 136 //PARENT_MODULE is used for only translations 137 $viewer->assign('PARENT_MODULE', 'PriceBooks'); 138 139 $viewer->assign('SEARCH_KEY', $searchKey); 140 $viewer->assign('SEARCH_VALUE', $searchValue); 141 142 $viewer->assign('ORDER_BY',$orderBy); 143 $viewer->assign('SORT_ORDER',$sortOrder); 144 $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder); 145 $viewer->assign('SORT_IMAGE',$sortImage); 146 147 $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); 148 $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); 149 150 $viewer->assign('PAGING_MODEL', $pagingModel); 151 $viewer->assign('PAGE_NUMBER',$pageNumber); 152 153 $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries); 154 $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); 155 $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); 156 157 $viewer->assign('VIEW', 'ProductPriceBookPopup'); 158 } 159 160 }
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 |