[ 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_DragDropAjax_Action extends Calendar_SaveAjax_Action { 12 13 function __construct() { 14 $this->exposeMethod('updateDeltaOnResize'); 15 $this->exposeMethod('updateDeltaOnDrop'); 16 } 17 18 public function process(Vtiger_Request $request) { 19 $mode = $request->getMode(); 20 if(!empty($mode) && $this->isMethodExposed($mode)) { 21 $this->invokeExposedMethod($mode, $request); 22 return; 23 } 24 25 } 26 27 public function updateDeltaOnResize(Vtiger_Request $request){ 28 $moduleName = $request->getModule(); 29 $activityType = $request->get('activitytype'); 30 $recordId = $request->get('id'); 31 $dayDelta = $request->get('dayDelta'); 32 $minuteDelta = $request->get('minuteDelta'); 33 $actionname = 'EditView'; 34 35 $response = new Vtiger_Response(); 36 if(isPermitted($moduleName, $actionname, $recordId) === 'no'){ 37 $result = array('ispermitted'=>false,'error'=>false); 38 $response->setResult($result); 39 $response->emit(); 40 } 41 else{ 42 $result = array('ispermitted'=>true,'error'=>false); 43 $record = Vtiger_Record_Model::getInstanceById($recordId, $moduleName); 44 $record->set('mode','edit'); 45 46 $oldDateTime[] = $record->get('due_date'); 47 $oldDateTime[] = $record->get('time_end'); 48 $oldDateTime = implode(' ',$oldDateTime); 49 $resultDateTime = $this->changeDateTime($oldDateTime,$dayDelta,$minuteDelta); 50 $parts = explode(' ',$resultDateTime); 51 $record->set('due_date',$parts[0]); 52 if(activitytype != 'Task') 53 $record->set('time_end',$parts[1]); 54 55 $startDateTime[] = $record->get('date_start'); 56 $startDateTime[] = $record->get('time_start'); 57 $startDateTime = implode(' ',$startDateTime); 58 $startDateTime = new DateTime($startDateTime); 59 60 $endDateTime[] = $record->get('due_date'); 61 $endDateTime[] = $record->get('time_end'); 62 $endDateTime = implode(' ',$endDateTime); 63 $endDateTime = new DateTime($endDateTime); 64 //Checking if startDateTime is less than or equal to endDateTime 65 if($startDateTime <= $endDateTime) 66 $record->save(); 67 else 68 $result['error'] = true; 69 70 $response->setResult($result); 71 $response->emit(); 72 } 73 } 74 75 public function updateDeltaOnDrop(Vtiger_Request $request){ 76 $moduleName = $request->getModule(); 77 $activityType = $request->get('activitytype'); 78 $recordId = $request->get('id'); 79 $dayDelta = $request->get('dayDelta'); 80 $minuteDelta = $request->get('minuteDelta'); 81 $actionname = 'EditView'; 82 83 $response = new Vtiger_Response(); 84 if(isPermitted($moduleName, $actionname, $recordId) === 'no'){ 85 $result = array('ispermitted'=>false); 86 $response->setResult($result); 87 $response->emit(); 88 } 89 else{ 90 $result = array('ispermitted'=>true); 91 $record = Vtiger_Record_Model::getInstanceById($recordId, $moduleName); 92 $record->set('mode','edit'); 93 94 $oldStartDateTime[] = $record->get('date_start'); 95 $oldStartDateTime[] = $record->get('time_start'); 96 $oldStartDateTime = implode(' ',$oldStartDateTime); 97 $resultDateTime = $this->changeDateTime($oldStartDateTime,$dayDelta,$minuteDelta); 98 $parts = explode(' ',$resultDateTime); 99 $record->set('date_start',$parts[0]); 100 $record->set('time_start',$parts[1]); 101 102 $oldEndDateTime[] = $record->get('due_date'); 103 $oldEndDateTime[] = $record->get('time_end'); 104 $oldEndDateTime = implode(' ',$oldEndDateTime); 105 $resultDateTime = $this->changeDateTime($oldEndDateTime,$dayDelta,$minuteDelta); 106 $parts = explode(' ',$resultDateTime); 107 $record->set('due_date',$parts[0]); 108 if(activitytype != 'Task') 109 $record->set('time_end',$parts[1]); 110 $record->save(); 111 112 $response->setResult($result); 113 $response->emit(); 114 } 115 } 116 /* * 117 * Function adds days and minutes to datetime string 118 */ 119 public function changeDateTime($datetime,$daysToAdd,$minutesToAdd){ 120 $datetime = strtotime($datetime); 121 $futureDate = $datetime+(60*$minutesToAdd)+(24*60*60*$daysToAdd); 122 $formatDate = date("Y-m-d H:i:s", $futureDate); 123 return $formatDate; 124 } 125 126 } 127 ?>
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 |