get('field')->getWebserviceFieldObject(); $fieldName = $fieldInstance->getFieldName(); if(!in_array($fieldName, $specialTimeFields)){ return parent::getEditViewDisplayValue($value); }else{ return $this->getDisplayTimeDifferenceValue($fieldName, $value); } } /** * Function to get the calendar event call duration value in hour format * @param type $fieldName * @param type $value * @return - getTimeValue */ public function getDisplayTimeDifferenceValue($fieldName, $value){ $userModel = Users_Privileges_Model::getCurrentUserModel(); $date = new DateTime($value); //No need to set the time zone as DateTimeField::getDisplayTime API is already doing this /*if(empty($value)) { $timeZone = $userModel->get('time_zone'); $targetTimeZone = new DateTimeZone($timeZone); $date->setTimezone($targetTimeZone); }*/ if($fieldName == 'time_end' && empty($value)) { $defaultCallDuration = $userModel->get('callduration'); $date->modify("+{$defaultCallDuration} minutes"); } $dateTimeField = new DateTimeField($date->format('Y-m-d H:i:s')); $value = $dateTimeField->getDisplayTime(); if($userModel->get('hour_format') == '12'){ return Vtiger_Time_UIType::getTimeValueInAMorPM($value); } return $value; } }