[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Calendar/views/ -> Detail.php (source)

   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  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1