[ 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.1 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_Edit_View extends Settings_Vtiger_Index_View { 12 13 public function process(Vtiger_Request $request) { 14 $mode = $request->getMode(); 15 if ($mode) { 16 $this->$mode($request); 17 } else { 18 $this->step1($request); 19 } 20 } 21 22 public function preProcess(Vtiger_Request $request) { 23 parent::preProcess($request); 24 $viewer = $this->getViewer($request); 25 26 $recordId = $request->get('record'); 27 $viewer->assign('RECORDID', $recordId); 28 if($recordId) { 29 $workflowModel = Settings_Workflows_Record_Model::getInstance($recordId); 30 $viewer->assign('WORKFLOW_MODEL', $workflowModel); 31 } 32 $viewer->assign('RECORD_MODE', $request->getMode()); 33 $viewer->view('EditHeader.tpl', $request->getModule(false)); 34 } 35 36 public function step1(Vtiger_Request $request) { 37 $currentUser = Users_Record_Model::getCurrentUserModel(); 38 $viewer = $this->getViewer($request); 39 $moduleName = $request->getModule(); 40 $qualifiedModuleName = $request->getModule(false); 41 42 $recordId = $request->get('record'); 43 if ($recordId) { 44 $workflowModel = Settings_Workflows_Record_Model::getInstance($recordId); 45 $viewer->assign('RECORDID', $recordId); 46 $viewer->assign('MODULE_MODEL', $workflowModel->getModule()); 47 $viewer->assign('MODE', 'edit'); 48 } else { 49 $workflowModel = Settings_Workflows_Record_Model::getCleanInstance($moduleName); 50 $selectedModule = $request->get('source_module'); 51 if(!empty($selectedModule)) { 52 $viewer->assign('SELECTED_MODULE', $selectedModule); 53 } 54 } 55 $db = PearDatabase::getInstance(); 56 $workflowManager = new VTWorkflowManager($db); 57 $viewer->assign('MAX_ALLOWED_SCHEDULED_WORKFLOWS', $workflowManager->getMaxAllowedScheduledWorkflows()); 58 $viewer->assign('SCHEDULED_WORKFLOW_COUNT', $workflowManager->getScheduledWorkflowsCount()); 59 $viewer->assign('WORKFLOW_MODEL', $workflowModel); 60 $viewer->assign('ALL_MODULES', Settings_Workflows_Module_Model::getSupportedModules()); 61 $viewer->assign('TRIGGER_TYPES', Settings_Workflows_Module_Model::getTriggerTypes()); 62 63 $viewer->assign('MODULE', $moduleName); 64 $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); 65 $viewer->assign('CURRENT_USER', $currentUser); 66 $admin = Users::getActiveAdminUser(); 67 $viewer->assign('ACTIVE_ADMIN', $admin); 68 $viewer->view('Step1.tpl', $qualifiedModuleName); 69 } 70 71 public function step2(Vtiger_Request $request) { 72 73 $viewer = $this->getViewer($request); 74 $moduleName = $request->getModule(); 75 $qualifiedModuleName = $request->getModule(false); 76 77 $recordId = $request->get('record'); 78 79 if ($recordId) { 80 $workFlowModel = Settings_Workflows_Record_Model::getInstance($recordId); 81 $selectedModule = $workFlowModel->getModule(); 82 $selectedModuleName = $selectedModule->getName(); 83 } else { 84 $selectedModuleName = $request->get('module_name'); 85 $selectedModule = Vtiger_Module_Model::getInstance($selectedModuleName); 86 $workFlowModel = Settings_Workflows_Record_Model::getCleanInstance($selectedModuleName); 87 } 88 89 $requestData = $request->getAll(); 90 foreach($requestData as $name=>$value) { 91 if($name == 'schdayofweek' || $name == 'schdayofmonth' || $name == 'schannualdates') { 92 if(is_string($value)) { // need to save these as json data 93 $value = array($value); 94 } 95 } 96 $workFlowModel->set($name,$value); 97 } 98 //Added to support advance filters 99 $recordStructureInstance = Settings_Workflows_RecordStructure_Model::getInstanceForWorkFlowModule($workFlowModel, 100 Settings_Workflows_RecordStructure_Model::RECORD_STRUCTURE_MODE_FILTER); 101 102 $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); 103 $recordStructure = $recordStructureInstance->getStructure(); 104 if(in_array($selectedModuleName, getInventoryModules())){ 105 $itemsBlock = "LBL_ITEM_DETAILS"; 106 unset($recordStructure[$itemsBlock]); 107 } 108 $viewer->assign('RECORD_STRUCTURE', $recordStructure); 109 110 $viewer->assign('WORKFLOW_MODEL',$workFlowModel); 111 112 $viewer->assign('MODULE_MODEL', $selectedModule); 113 $viewer->assign('SELECTED_MODULE_NAME', $selectedModuleName); 114 115 $dateFilters = Vtiger_Field_Model::getDateFilterTypes(); 116 foreach($dateFilters as $comparatorKey => $comparatorInfo) { 117 $comparatorInfo['startdate'] = DateTimeField::convertToUserFormat($comparatorInfo['startdate']); 118 $comparatorInfo['enddate'] = DateTimeField::convertToUserFormat($comparatorInfo['enddate']); 119 $comparatorInfo['label'] = vtranslate($comparatorInfo['label'], $qualifiedModuleName); 120 $dateFilters[$comparatorKey] = $comparatorInfo; 121 } 122 $viewer->assign('DATE_FILTERS', $dateFilters); 123 $viewer->assign('ADVANCED_FILTER_OPTIONS', Settings_Workflows_Field_Model::getAdvancedFilterOptions()); 124 $viewer->assign('ADVANCED_FILTER_OPTIONS_BY_TYPE', Settings_Workflows_Field_Model::getAdvancedFilterOpsByFieldType()); 125 $viewer->assign('COLUMNNAME_API', 'getWorkFlowFilterColumnName'); 126 127 $viewer->assign('FIELD_EXPRESSIONS', Settings_Workflows_Module_Model::getExpressions()); 128 $viewer->assign('META_VARIABLES', Settings_Workflows_Module_Model::getMetaVariables()); 129 130 // Added to show filters only when saved from vtiger6 131 if($workFlowModel->isFilterSavedInNew()) { 132 $viewer->assign('ADVANCE_CRITERIA', $workFlowModel->transformToAdvancedFilterCondition()); 133 } else { 134 $viewer->assign('ADVANCE_CRITERIA', ""); 135 } 136 137 $viewer->assign('IS_FILTER_SAVED_NEW',$workFlowModel->isFilterSavedInNew()); 138 $viewer->assign('MODULE', $moduleName); 139 $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); 140 141 $viewer->view('Step2.tpl', $qualifiedModuleName); 142 } 143 144 function Step3(Vtiger_Request $request) { 145 $viewer = $this->getViewer($request); 146 $moduleName = $request->getModule(); 147 $qualifiedModuleName = $request->getModule(false); 148 149 $recordId = $request->get('record'); 150 151 if ($recordId) { 152 $workFlowModel = Settings_Workflows_Record_Model::getInstance($recordId); 153 $selectedModule = $workFlowModel->getModule(); 154 $selectedModuleName = $selectedModule->getName(); 155 } else { 156 $selectedModuleName = $request->get('module_name'); 157 $selectedModule = Vtiger_Module_Model::getInstance($selectedModuleName); 158 $workFlowModel = Settings_Workflows_Record_Model::getCleanInstance($selectedModuleName); 159 } 160 161 $moduleModel = $workFlowModel->getModule(); 162 $viewer->assign('TASK_TYPES', Settings_Workflows_TaskType_Model::getAllForModule($moduleModel)); 163 $viewer->assign('SOURCE_MODULE',$selectedModuleName); 164 $viewer->assign('RECORD',$recordId); 165 $viewer->assign('MODULE', $moduleName); 166 $viewer->assign('WORKFLOW_MODEL',$workFlowModel); 167 $viewer->assign('TASK_LIST', $workFlowModel->getTasks()); 168 $viewer->assign('QUALIFIED_MODULE',$qualifiedModuleName); 169 170 $viewer->view('Step3.tpl', $qualifiedModuleName); 171 } 172 173 public function getHeaderScripts(Vtiger_Request $request) { 174 $headerScriptInstances = parent::getHeaderScripts($request); 175 $moduleName = $request->getModule(); 176 177 $jsFileNames = array( 178 'modules.Settings.Vtiger.resources.Edit', 179 "modules.Settings.$moduleName.resources.Edit", 180 "modules.Settings.$moduleName.resources.Edit1", 181 "modules.Settings.$moduleName.resources.Edit2", 182 "modules.Settings.$moduleName.resources.Edit3", 183 "modules.Settings.$moduleName.resources.AdvanceFilter", 184 '~libraries/jquery/ckeditor/ckeditor.js', 185 "modules.Vtiger.resources.CkEditor", 186 '~libraries/jquery/jquery.datepick.package-4.1.0/jquery.datepick.js', 187 ); 188 189 $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); 190 $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); 191 return $headerScriptInstances; 192 } 193 194 function getHeaderCss(Vtiger_Request $request) { 195 $headerCssInstances = parent::getHeaderCss($request); 196 $moduleName = $request->getModule(); 197 $cssFileNames = array( 198 '~libraries/jquery/jquery.datepick.package-4.1.0/jquery.datepick.css', 199 ); 200 $cssInstances = $this->checkAndConvertCssStyles($cssFileNames); 201 $headerCssInstances = array_merge($cssInstances, $headerCssInstances); 202 return $headerCssInstances; 203 } 204 }
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 |