[ 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.0 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 Calendar_Detail_View extends Vtiger_Detail_View { 12 13 function preProcess(Vtiger_Request $request, $display=true) { 14 parent::preProcess($request, false); 15 16 $recordId = $request->get('record'); 17 $moduleName = $request->getModule(); 18 if(!empty($recordId)){ 19 $recordModel = Vtiger_Record_Model::getInstanceById($recordId); 20 $activityType = $recordModel->getType(); 21 if($activityType == 'Events') 22 $moduleName = 'Events'; 23 } 24 $detailViewModel = Vtiger_DetailView_Model::getInstance($moduleName, $recordId); 25 $recordModel = $detailViewModel->getRecord(); 26 $recordStrucure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_DETAIL); 27 $summaryInfo = array(); 28 // Take first block information as summary information 29 $stucturedValues = $recordStrucure->getStructure(); 30 foreach($stucturedValues as $blockLabel=>$fieldList) { 31 $summaryInfo[$blockLabel] = $fieldList; 32 break; 33 } 34 35 $detailViewLinkParams = array('MODULE'=>$moduleName,'RECORD'=>$recordId); 36 $detailViewLinks = $detailViewModel->getDetailViewLinks($detailViewLinkParams); 37 $navigationInfo = ListViewSession::getListViewNavigation($recordId); 38 39 $viewer = $this->getViewer($request); 40 $viewer->assign('RECORD', $recordModel); 41 $viewer->assign('NAVIGATION', $navigationInfo); 42 43 //Intially make the prev and next records as null 44 $prevRecordId = null; 45 $nextRecordId = null; 46 $found = false; 47 if ($navigationInfo) { 48 foreach($navigationInfo as $page=>$pageInfo) { 49 foreach($pageInfo as $index=>$record) { 50 //If record found then next record in the interation 51 //will be next record 52 if($found) { 53 $nextRecordId = $record; 54 break; 55 } 56 if($record == $recordId) { 57 $found = true; 58 } 59 //If record not found then we are assiging previousRecordId 60 //assuming next record will get matched 61 if(!$found) { 62 $prevRecordId = $record; 63 } 64 } 65 //if record is found and next record is not calculated we need to perform iteration 66 if($found && !empty($nextRecordId)) { 67 break; 68 } 69 } 70 } 71 72 $moduleModel = Vtiger_Module_Model::getInstance($moduleName); 73 if(!empty($prevRecordId)) { 74 $viewer->assign('PREVIOUS_RECORD_URL', $moduleModel->getDetailViewUrl($prevRecordId)); 75 } 76 if(!empty($nextRecordId)) { 77 $viewer->assign('NEXT_RECORD_URL', $moduleModel->getDetailViewUrl($nextRecordId)); 78 } 79 80 $viewer->assign('MODULE_MODEL', $detailViewModel->getModule()); 81 $viewer->assign('DETAILVIEW_LINKS', $detailViewLinks); 82 83 $viewer->assign('IS_EDITABLE', $detailViewModel->getRecord()->isEditable($moduleName)); 84 $viewer->assign('IS_DELETABLE', $detailViewModel->getRecord()->isDeletable($moduleName)); 85 86 $linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view')); 87 $linkModels = $detailViewModel->getSideBarLinks($linkParams); 88 89 $viewer->assign('QUICK_LINKS', $linkModels); 90 $viewer->assign('NO_SUMMARY', true); 91 92 if($display) { 93 $this->preProcessDisplay($request); 94 } 95 } 96 97 /** 98 * Function shows the entire detail for the record 99 * @param Vtiger_Request $request 100 * @return <type> 101 */ 102 function showModuleDetailView(Vtiger_Request $request) { 103 $recordId = $request->get('record'); 104 $moduleName = $request->getModule(); 105 106 if(!empty($recordId)){ 107 $recordModel = Vtiger_Record_Model::getInstanceById($recordId); 108 $activityType = $recordModel->getType(); 109 if($activityType == 'Events') 110 $moduleName = 'Events'; 111 } 112 113 $detailViewModel = Vtiger_DetailView_Model::getInstance($moduleName, $recordId); 114 $recordModel = $detailViewModel->getRecord(); 115 $recordStrucure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_DETAIL); 116 $structuredValues = $recordStrucure->getStructure(); 117 $moduleModel = $recordModel->getModule(); 118 119 if ($moduleName == 'Events'){ 120 $relatedContacts = $recordModel->getRelatedContactInfo(); 121 foreach($relatedContacts as $index=>$contactInfo) { 122 $contactRecordModel = Vtiger_Record_Model::getCleanInstance('Contacts'); 123 $contactRecordModel->setId($contactInfo['id']); 124 $contactInfo['_model'] = $contactRecordModel; 125 $relatedContacts[$index] = $contactInfo; 126 } 127 }else{ 128 $relatedContacts = array(); 129 } 130 131 132 $viewer = $this->getViewer($request); 133 $viewer->assign('RECORD', $recordModel); 134 $viewer->assign('RECORD_STRUCTURE', $structuredValues); 135 $viewer->assign('BLOCK_LIST', $moduleModel->getBlocks()); 136 $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStrucure); 137 $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); 138 $viewer->assign('MODULE_NAME', $moduleName); 139 $viewer->assign('RELATED_CONTACTS', $relatedContacts); 140 $viewer->assign('IS_AJAX_ENABLED', $this->isAjaxEnabled($recordModel)); 141 $viewer->assign('RECURRING_INFORMATION', $recordModel->getRecurringDetails()); 142 143 if($moduleName=='Events') { 144 $currentUser = Users_Record_Model::getCurrentUserModel(); 145 $accessibleUsers = $currentUser->getAccessibleUsers(); 146 $viewer->assign('ACCESSIBLE_USERS', $accessibleUsers); 147 $viewer->assign('INVITIES_SELECTED', $recordModel->getInvities()); 148 } 149 150 return $viewer->view('DetailViewFullContents.tpl',$moduleName,true); 151 } 152 153 /** 154 * Function shows basic detail for the record 155 * @param <type> $request 156 */ 157 function showModuleBasicView($request) { 158 return $this->showModuleDetailView($request); 159 } 160 161 /** 162 * Function to get Ajax is enabled or not 163 * @param Vtiger_Record_Model record model 164 * @return <boolean> true/false 165 */ 166 function isAjaxEnabled($recordModel) { 167 return false; 168 } 169 170 }
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 |