[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 3 /* +*********************************************************************************** 4 * The contents of this file are subject to the vtiger CRM Public License Version 1.0 5 * ("License"); You may not use this file except in compliance with the License 6 * The Original Code is: vtiger CRM Open Source 7 * The Initial Developer of the Original Code is vtiger. 8 * Portions created by vtiger are Copyright (C) vtiger. 9 * All Rights Reserved. 10 * *********************************************************************************** */ 11 12 class Products_Detail_View extends Vtiger_Detail_View { 13 14 public function showModuleDetailView(Vtiger_Request $request) { 15 $recordId = $request->get('record'); 16 $moduleName = $request->getModule(); 17 18 $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName); 19 $baseCurrenctDetails = $recordModel->getBaseCurrencyDetails(); 20 21 $viewer = $this->getViewer($request); 22 $viewer->assign('BASE_CURRENCY_SYMBOL', $baseCurrenctDetails['symbol']); 23 $viewer->assign('TAXCLASS_DETAILS', $recordModel->getTaxClassDetails()); 24 $viewer->assign('IMAGE_DETAILS', $recordModel->getImageDetails()); 25 26 return parent::showModuleDetailView($request); 27 } 28 29 public function showModuleBasicView(Vtiger_Request $request) { 30 return $this->showModuleDetailView($request); 31 } 32 33 public function getHeaderScripts(Vtiger_Request $request) { 34 $headerScriptInstances = parent::getHeaderScripts($request); 35 $moduleName = $request->getModule(); 36 $moduleDetailFile = 'modules.'.$moduleName.'.resources.Detail'; 37 $moduleRelatedListFile = 'modules.'.$moduleName.'.resources.RelatedList'; 38 unset($headerScriptInstances[$moduleDetailFile]); 39 unset($headerScriptInstances[$moduleRelatedListFile]); 40 41 $jsFileNames = array( 42 '~libraries/jquery/jquery.cycle.min.js', 43 'modules.PriceBooks.resources.Detail', 44 'modules.PriceBooks.resources.RelatedList', 45 ); 46 47 $jsFileNames[] = $moduleDetailFile; 48 $jsFileNames[] = $moduleRelatedListFile; 49 50 $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); 51 $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); 52 return $headerScriptInstances; 53 } 54 55 /** 56 * Function returns related records 57 * @param Vtiger_Request $request 58 * @return <type> 59 */ 60 function showRelatedList(Vtiger_Request $request) { 61 $moduleName = $request->getModule(); 62 $relatedModuleName = $request->get('relatedModule'); 63 $parentId = $request->get('record'); 64 $label = $request->get('tab_label'); 65 66 $requestedPage = $request->get('page'); 67 if(empty ($requestedPage)) { 68 $requestedPage = 1; 69 } 70 71 $pagingModel = new Vtiger_Paging_Model(); 72 $pagingModel->set('page',$requestedPage); 73 74 $parentRecordModel = Vtiger_Record_Model::getInstanceById($parentId, $moduleName); 75 $relationListView = Vtiger_RelationListView_Model::getInstance($parentRecordModel, $relatedModuleName, $label); 76 $orderBy = $request->get('orderby'); 77 $sortOrder = $request->get('sortorder'); 78 if($sortOrder == "ASC") { 79 $nextSortOrder = "DESC"; 80 $sortImage = "icon-chevron-down"; 81 } else { 82 $nextSortOrder = "ASC"; 83 $sortImage = "icon-chevron-up"; 84 } 85 if(!empty($orderBy)) { 86 $relationListView->set('orderby', $orderBy); 87 $relationListView->set('sortorder',$sortOrder); 88 } 89 $models = $relationListView->getEntries($pagingModel); 90 $links = $relationListView->getLinks(); 91 $header = $relationListView->getHeaders(); 92 $noOfEntries = count($models); 93 94 if($relatedModuleName == 'PriceBooks'){ 95 foreach ($models as $recordId => $recorModel) { 96 $productIdsList[$parentId] = $parentId; 97 $relatedRecordCurrencyId = $recorModel->get('currency_id'); 98 $parentModuleModel = $parentRecordModel->getModule(); 99 $unitPricesList = $parentModuleModel->getPricesForProducts($relatedRecordCurrencyId, $productIdsList); 100 $recorModel->set('unit_price', $unitPricesList[$parentId]); 101 } 102 } 103 104 $relationModel = $relationListView->getRelationModel(); 105 $relationField = $relationModel->getRelationField(); 106 107 $viewer = $this->getViewer($request); 108 $viewer->assign('RELATED_RECORDS' , $models); 109 $viewer->assign('PARENT_RECORD', $parentRecordModel); 110 $viewer->assign('RELATED_LIST_LINKS', $links); 111 $viewer->assign('RELATED_HEADERS', $header); 112 $viewer->assign('RELATED_MODULE', $relationModel->getRelationModuleModel()); 113 $viewer->assign('RELATED_ENTIRES_COUNT', $noOfEntries); 114 $viewer->assign('RELATION_FIELD', $relationField); 115 116 if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) { 117 $totalCount = $relationListView->getRelatedEntriesCount(); 118 $pageLimit = $pagingModel->getPageLimit(); 119 $pageCount = ceil((int) $totalCount / (int) $pageLimit); 120 121 if($pageCount == 0){ 122 $pageCount = 1; 123 } 124 $viewer->assign('PAGE_COUNT', $pageCount); 125 $viewer->assign('TOTAL_ENTRIES', $totalCount); 126 $viewer->assign('PERFORMANCE', true); 127 } 128 129 $viewer->assign('IS_EDITABLE', $relationModel->isEditable()); 130 $viewer->assign('IS_DELETABLE', $relationModel->isDeletable()); 131 132 $viewer->assign('MODULE', $moduleName); 133 $viewer->assign('PAGING', $pagingModel); 134 $viewer->assign('ORDER_BY',$orderBy); 135 $viewer->assign('SORT_ORDER',$sortOrder); 136 $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder); 137 $viewer->assign('SORT_IMAGE',$sortImage); 138 $viewer->assign('COLUMN_NAME',$orderBy); 139 $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); 140 141 return $viewer->view('RelatedList.tpl', $moduleName, 'true'); 142 } 143 }
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 |