[ 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_Edit_View extends Vtiger_Edit_View { 12 13 function __construct() { 14 parent::__construct(); 15 $this->exposeMethod('Events'); 16 $this->exposeMethod('Calendar'); 17 } 18 19 function process(Vtiger_Request $request) { 20 $mode = $request->getMode(); 21 22 $recordId = $request->get('record'); 23 if(!empty($recordId)) { 24 $recordModel = Vtiger_Record_Model::getInstanceById($recordId); 25 $mode = $recordModel->getType(); 26 } 27 28 if(!empty($mode)) { 29 $this->invokeExposedMethod($mode, $request, $mode); 30 return; 31 } 32 $this->Calendar($request, 'Calendar'); 33 } 34 35 function Events($request, $moduleName) { 36 $currentUser = Users_Record_Model::getCurrentUserModel(); 37 38 $viewer = $this->getViewer ($request); 39 $record = $request->get('record'); 40 41 if(!empty($record) && $request->get('isDuplicate') == true) { 42 $recordModel = Vtiger_Record_Model::getInstanceById($record, $moduleName); 43 $viewer->assign('MODE', ''); 44 }else if(!empty($record)) { 45 $recordModel = Vtiger_Record_Model::getInstanceById($record, $moduleName); 46 $viewer->assign('MODE', 'edit'); 47 $viewer->assign('RECORD_ID', $record); 48 } else { 49 $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); 50 $viewer->assign('MODE', ''); 51 } 52 $eventModule = Vtiger_Module_Model::getInstance($moduleName); 53 $recordModel->setModuleFromInstance($eventModule); 54 55 $moduleModel = $recordModel->getModule(); 56 $fieldList = $moduleModel->getFields(); 57 $requestFieldList = array_intersect_key($request->getAll(), $fieldList); 58 59 foreach($requestFieldList as $fieldName=>$fieldValue){ 60 $fieldModel = $fieldList[$fieldName]; 61 $specialField = false; 62 // We collate date and time part together in the EditView UI handling 63 // so a bit of special treatment is required if we come from QuickCreate 64 if (empty($record) && ($fieldName == 'time_start' || $fieldName == 'time_end') && !empty($fieldValue)) { 65 $specialField = true; 66 // Convert the incoming user-picked time to GMT time 67 // which will get re-translated based on user-time zone on EditForm 68 $fieldValue = DateTimeField::convertToDBTimeZone($fieldValue)->format("H:i"); 69 } 70 if (empty($record) && ($fieldName == 'date_start' || $fieldName == 'due_date') && !empty($fieldValue)) { 71 if($fieldName == 'date_start'){ 72 $startTime = Vtiger_Time_UIType::getTimeValueWithSeconds($requestFieldList['time_start']); 73 $startDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($fieldValue." ".$startTime); 74 list($startDate, $startTime) = explode(' ', $startDateTime); 75 $fieldValue = Vtiger_Date_UIType::getDisplayDateValue($startDate); 76 }else{ 77 $endTime = Vtiger_Time_UIType::getTimeValueWithSeconds($requestFieldList['time_end']); 78 $endDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($fieldValue." ".$endTime); 79 list($endDate, $endTime) = explode(' ', $endDateTime); 80 $fieldValue = Vtiger_Date_UIType::getDisplayDateValue($endDate); 81 } 82 } 83 84 if($fieldModel->isEditable() || $specialField) { 85 $recordModel->set($fieldName, $fieldModel->getDBInsertValue($fieldValue)); 86 } 87 } 88 $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, 89 Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT); 90 91 $viewMode = $request->get('view_mode'); 92 if(!empty($viewMode)) { 93 $viewer->assign('VIEW_MODE', $viewMode); 94 } 95 96 $userChangedEndDateTime = $request->get('userChangedEndDateTime'); 97 //If followup value is passed from request to process the value and sent to client 98 $requestFollowUpDate = $request->get('followup_date_start'); 99 $requestFollowUpTime = $request->get('followup_time_start'); 100 $followUpStatus = $request->get('followup'); 101 $eventStatus = $request->get('eventstatus'); 102 103 if(!empty($requestFollowUpDate)){ 104 $followUpDate = $requestFollowUpDate; 105 } 106 if(!empty($requestFollowUpTime)){ 107 $followUpTime = $requestFollowUpTime; 108 } 109 if($followUpStatus == 'on'){ 110 $viewer->assign('FOLLOW_UP_STATUS',TRUE); 111 } 112 if($eventStatus == 'Held'){ 113 $viewer->assign('SHOW_FOLLOW_UP',TRUE); 114 }else{ 115 $viewer->assign('SHOW_FOLLOW_UP',FALSE); 116 } 117 118 $viewer->assign('USER_CHANGED_END_DATE_TIME',$userChangedEndDateTime); 119 $viewer->assign('FOLLOW_UP_DATE',$followUpDate); 120 $viewer->assign('FOLLOW_UP_TIME',$followUpTime); 121 $viewer->assign('RECURRING_INFORMATION', $recordModel->getRecurrenceInformation()); 122 $viewer->assign('TOMORROWDATE', Vtiger_Date_UIType::getDisplayDateValue(date('Y-m-d', time()+86400))); 123 124 $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); 125 $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); 126 127 $viewer->assign('MODULE', $moduleName); 128 $viewer->assign('CURRENTDATE', date('Y-n-j')); 129 $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); 130 $existingRelatedContacts = $recordModel->getRelatedContactInfo(); 131 132 //To add contact ids that is there in the request . Happens in gotoFull form mode of quick create 133 $requestContactIdValue = $request->get('contact_id'); 134 if(!empty($requestContactIdValue)) { 135 $existingRelatedContacts[] = array('name' => Vtiger_Util_Helper::getRecordName($requestContactIdValue) ,'id' => $requestContactIdValue); 136 } 137 138 $viewer->assign('RELATED_CONTACTS', $existingRelatedContacts); 139 140 $isRelationOperation = $request->get('relationOperation'); 141 142 //if it is relation edit 143 $viewer->assign('IS_RELATION_OPERATION', $isRelationOperation); 144 if($isRelationOperation) { 145 $viewer->assign('SOURCE_MODULE', $request->get('sourceModule')); 146 $viewer->assign('SOURCE_RECORD', $request->get('sourceRecord')); 147 } 148 $picklistDependencyDatasource = Vtiger_DependencyPicklist::getPicklistDependencyDatasource($moduleName); 149 $accessibleUsers = $currentUser->getAccessibleUsers(); 150 151 $viewer->assign('PICKIST_DEPENDENCY_DATASOURCE',Zend_Json::encode($picklistDependencyDatasource)); 152 $viewer->assign('ACCESSIBLE_USERS', $accessibleUsers); 153 $viewer->assign('INVITIES_SELECTED', $recordModel->getInvities()); 154 $viewer->assign('CURRENT_USER', $currentUser); 155 156 $viewer->view('EditView.tpl', $moduleName); 157 } 158 159 function Calendar($request, $moduleName) { 160 parent::process($request); 161 } 162 }
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 |