[ 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 Events_Save_Action extends Calendar_Save_Action { 12 13 /** 14 * Function to save record 15 * @param <Vtiger_Request> $request - values of the record 16 * @return <RecordModel> - record Model of saved record 17 */ 18 public function saveRecord($request) { 19 $adb = PearDatabase::getInstance(); 20 $recordModel = $this->getRecordModelFromRequest($request); 21 $recordModel->save(); 22 $originalRecordId = $recordModel->getId(); 23 if($request->get('relationOperation')) { 24 $parentModuleName = $request->get('sourceModule'); 25 $parentModuleModel = Vtiger_Module_Model::getInstance($parentModuleName); 26 $parentRecordId = $request->get('sourceRecord'); 27 $relatedModule = $recordModel->getModule(); 28 if($relatedModule->getName() == 'Events'){ 29 $relatedModule = Vtiger_Module_Model::getInstance('Calendar'); 30 } 31 $relatedRecordId = $recordModel->getId(); 32 33 $relationModel = Vtiger_Relation_Model::getInstance($parentModuleModel, $relatedModule); 34 $relationModel->addRelation($parentRecordId, $relatedRecordId); 35 } 36 37 // Handled to save follow up event 38 $followupMode = $request->get('followup'); 39 40 //Start Date and Time values 41 $startTime = Vtiger_Time_UIType::getTimeValueWithSeconds($request->get('followup_time_start')); 42 $startDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($request->get('followup_date_start') . " " . $startTime); 43 list($startDate, $startTime) = explode(' ', $startDateTime); 44 45 $subject = $request->get('subject'); 46 if($followupMode == 'on' && $startTime != '' && $startDate != ''){ 47 $recordModel->set('eventstatus', 'Planned'); 48 $recordModel->set('subject','[Followup] '.$subject); 49 $recordModel->set('date_start',$startDate); 50 $recordModel->set('time_start',$startTime); 51 52 $currentUser = Users_Record_Model::getCurrentUserModel(); 53 $activityType = $recordModel->get('activitytype'); 54 if($activityType == 'Call') { 55 $minutes = $currentUser->get('callduration'); 56 } else { 57 $minutes = $currentUser->get('othereventduration'); 58 } 59 $dueDateTime = date('Y-m-d H:i:s', strtotime("$startDateTime+$minutes minutes")); 60 list($startDate, $startTime) = explode(' ', $dueDateTime); 61 62 $recordModel->set('due_date',$startDate); 63 $recordModel->set('time_end',$startTime); 64 $recordModel->set('recurringtype', ''); 65 $recordModel->set('mode', 'create'); 66 $recordModel->save(); 67 $heldevent = true; 68 } 69 70 //TODO: remove the dependency on $_REQUEST 71 if($_REQUEST['recurringtype'] != '' && $_REQUEST['recurringtype'] != '--None--') { 72 vimport('~~/modules/Calendar/RepeatEvents.php'); 73 $focus = new Activity(); 74 75 //get all the stored data to this object 76 $focus->column_fields = $recordModel->getData(); 77 78 Calendar_RepeatEvents::repeatFromRequest($focus); 79 } 80 return $recordModel; 81 } 82 83 84 /** 85 * Function to get the record model based on the request parameters 86 * @param Vtiger_Request $request 87 * @return Vtiger_Record_Model or Module specific Record Model instance 88 */ 89 protected function getRecordModelFromRequest(Vtiger_Request $request) { 90 $recordModel = parent::getRecordModelFromRequest($request); 91 92 $recordModel->set('selectedusers', $request->get('selectedusers')); 93 return $recordModel; 94 } 95 }
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 |