[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Calendar/models/ -> EditRecordStructure.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  /**
  12   * Calendar Edit View Record Structure Model
  13   */
  14  class Calendar_EditRecordStructure_Model extends Vtiger_EditRecordStructure_Model {
  15  
  16      /**
  17       * Function to get the values in stuctured format
  18       * @return <array> - values in structure array('block'=>array(fieldinfo));
  19       */
  20  	public function getStructure() {
  21          if(!empty($this->structuredValues)) {
  22              return $this->structuredValues;
  23          }
  24          
  25          $values = array();
  26          $recordModel = $this->getRecord();
  27          $recordExists = !empty($recordModel);
  28          $moduleModel = $this->getModule();
  29          $blockModelList = $moduleModel->getBlocks();
  30                  
  31          foreach($blockModelList as $blockLabel=>$blockModel) {
  32              $fieldModelList = $blockModel->getFields();
  33              if (!empty ($fieldModelList)) {
  34                  $values[$blockLabel] = array();
  35                  foreach($fieldModelList as $fieldName=>$fieldModel) {
  36                      if($fieldModel->isEditable()) {
  37                          if($recordExists) {
  38                              $fieldValue = $recordModel->get($fieldName);
  39                              if($fieldName == 'date_start') {
  40                                  $fieldValue = $fieldValue.' '.$recordModel->get('time_start');
  41                              } else if($fieldName == 'due_date' && $moduleModel->get('name') != 'Calendar') {
  42                                    //Do not concat duedate and endtime for Tasks as it contains only duedate
  43                                  if($moduleModel->getName() != 'Calendar') {
  44                                      $fieldValue = $fieldValue.' '.$recordModel->get('time_end');
  45                                  }
  46                              } else if($fieldName == 'visibility' && empty($fieldValue)) {
  47                                  $currentUserModel = Users_Record_Model::getCurrentUserModel();
  48                                  $sharedType = $currentUserModel->get('calendarsharedtype');
  49                                  if($sharedType == 'public' || $sharedType == 'selectedusers')
  50                                      $fieldValue = 'Public';
  51                              } else if($fieldName == 'eventstatus' && empty($fieldValue)) {
  52                                      $currentUserModel = Users_Record_Model::getCurrentUserModel();
  53                                      $defaulteventstatus = $currentUserModel->get('defaulteventstatus');
  54                                      $fieldValue = $defaulteventstatus;
  55                              } else if($fieldName == 'activitytype' && empty($fieldValue)) {
  56                                      $currentUserModel = Users_Record_Model::getCurrentUserModel();
  57                                      $defaultactivitytype = $currentUserModel->get('defaultactivitytype');
  58                                      $fieldValue = $defaultactivitytype;
  59                              }
  60                              $fieldModel->set('fieldvalue', $fieldValue);
  61                          }
  62                          $values[$blockLabel][$fieldName] = $fieldModel;
  63                      }
  64                  }
  65              }
  66          }
  67          $this->structuredValues = $values;
  68          return $values;
  69      }
  70  }


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