[ 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 Settings_Workflows_TaskAjax_Action extends Settings_Vtiger_IndexAjax_View { 12 13 function __construct() { 14 parent::__construct(); 15 $this->exposeMethod('Delete'); 16 $this->exposeMethod('ChangeStatus'); 17 $this->exposeMethod('Save'); 18 } 19 20 public function process(Vtiger_Request $request) { 21 $mode = $request->getMode(); 22 if(!empty($mode)) { 23 $this->invokeExposedMethod($mode, $request); 24 return; 25 } 26 } 27 28 public function Delete(Vtiger_Request $request){ 29 $record = $request->get('task_id'); 30 if(!empty($record)) { 31 $taskRecordModel = Settings_Workflows_TaskRecord_Model::getInstance($record); 32 $taskRecordModel->delete(); 33 $response = new Vtiger_Response(); 34 $response->setResult(array('ok')); 35 $response->emit(); 36 } 37 } 38 39 public function ChangeStatus(Vtiger_Request $request) { 40 $record = $request->get('task_id'); 41 if(!empty($record)) { 42 $taskRecordModel = Settings_Workflows_TaskRecord_Model::getInstance($record); 43 $taskObject = $taskRecordModel->getTaskObject(); 44 if($request->get('status') == 'true') 45 $taskObject->active = true; 46 else 47 $taskObject->active = false; 48 $taskRecordModel->save(); 49 $response = new Vtiger_Response(); 50 $response->setResult(array('ok')); 51 $response->emit(); 52 } 53 } 54 55 public function Save(Vtiger_Request $request) { 56 57 $workflowId = $request->get('for_workflow'); 58 if(!empty($workflowId)) { 59 $record = $request->get('task_id'); 60 if($record) { 61 $taskRecordModel = Settings_Workflows_TaskRecord_Model::getInstance($record); 62 } else { 63 $workflowModel = Settings_Workflows_Record_Model::getInstance($workflowId); 64 $taskRecordModel = Settings_Workflows_TaskRecord_Model::getCleanInstance($workflowModel, $request->get('taskType')); 65 } 66 67 $taskObject = $taskRecordModel->getTaskObject(); 68 $taskObject->summary = $request->get("summary"); 69 70 $active = $request->get("active"); 71 if($active == "true") { 72 $taskObject->active = true; 73 } else if ($active == "false"){ 74 $taskObject->active = false; 75 } 76 $checkSelectDate = $request->get('check_select_date'); 77 78 if(!empty($checkSelectDate)){ 79 $trigger = array( 80 'days'=>($request->get('select_date_direction') == 'after' ? 1 : -1) * (int)$request->get('select_date_days'), 81 'field'=>$request->get('select_date_field') 82 ); 83 $taskObject->trigger = $trigger; 84 } else { 85 $taskObject->trigger = null; 86 } 87 88 $fieldNames = $taskObject->getFieldNames(); 89 foreach($fieldNames as $fieldName){ 90 if($fieldName == 'field_value_mapping' || $fieldName == 'content') { 91 $taskObject->$fieldName = $request->getRaw($fieldName); 92 } else { 93 $taskObject->$fieldName = $request->get($fieldName); 94 } 95 if ($fieldName == 'calendar_repeat_limit_date') { 96 $taskObject->$fieldName = DateTimeField::convertToDBFormat($request->get($fieldName)); 97 } 98 } 99 100 $taskType = get_class($taskObject); 101 if ($taskType === 'VTCreateEntityTask') { 102 $relationModuleModel = Vtiger_Module_Model::getInstance($taskObject->entity_type); 103 $ownerFieldModels = $relationModuleModel->getFieldsByType('owner'); 104 105 $fieldMapping = Zend_Json::decode($taskObject->field_value_mapping); 106 foreach ($fieldMapping as $key => $mappingInfo) { 107 if (array_key_exists($mappingInfo['fieldname'], $ownerFieldModels)) { 108 $userRecordModel = Users_Record_Model::getInstanceById($mappingInfo['value'], 'Users'); 109 $ownerName = $userRecordModel->get('user_name'); 110 111 if (!$ownerName) { 112 $groupRecordModel = Settings_Groups_Record_Model::getInstance($mappingInfo['value']); 113 $ownerName = $groupRecordModel->getName(); 114 } 115 $fieldMapping[$key]['value'] = $ownerName; 116 } 117 } 118 $taskObject->field_value_mapping = Zend_Json::encode($fieldMapping); 119 } 120 121 $taskRecordModel->save(); 122 $response = new Vtiger_Response(); 123 $response->setResult(array('for_workflow'=>$workflowId)); 124 $response->emit(); 125 } 126 } 127 128 public function validateRequest(Vtiger_Request $request) { 129 $request->validateWriteAccess(); 130 } 131 }
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 |