[ 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_EditTask_View extends Settings_Vtiger_Index_View { 12 13 public function process(Vtiger_Request $request) { 14 $currentUser = Users_Record_Model::getCurrentUserModel(); 15 $viewer = $this->getViewer($request); 16 $moduleName = $request->getModule(); 17 $qualifiedModuleName = $request->getModule(false); 18 19 $recordId = $request->get('task_id'); 20 $workflowId = $request->get('for_workflow'); 21 22 $workflowModel = Settings_Workflows_Record_Model::getInstance($workflowId); 23 $taskTypes = $workflowModel->getTaskTypes(); 24 if($recordId) { 25 $taskModel = Settings_Workflows_TaskRecord_Model::getInstance($recordId); 26 } else { 27 $taskType = $request->get('type'); 28 if(empty($taskType)) { 29 $taskType = !empty($taskTypes[0]) ? $taskTypes[0]->getName() : 'VTEmailTask'; 30 } 31 $taskModel = Settings_Workflows_TaskRecord_Model::getCleanInstance($workflowModel, $taskType); 32 } 33 34 $taskTypeModel = $taskModel->getTaskType(); 35 $viewer->assign('TASK_TYPE_MODEL', $taskTypeModel); 36 37 $viewer->assign('TASK_TEMPLATE_PATH', $taskTypeModel->getTemplatePath()); 38 $recordStructureInstance = Settings_Workflows_RecordStructure_Model::getInstanceForWorkFlowModule($workflowModel, 39 Settings_Workflows_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDITTASK); 40 41 $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); 42 $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); 43 44 $moduleModel = $workflowModel->getModule(); 45 $dateTimeFields = $moduleModel->getFieldsByType(array('date', 'datetime')); 46 47 $taskObject = $taskModel->getTaskObject(); 48 $taskType = get_class($taskObject); 49 50 if ($taskType === 'VTCreateEntityTask') { 51 if ($taskObject->entity_type) { 52 $relationModuleModel = Vtiger_Module_Model::getInstance($taskObject->entity_type); 53 $ownerFieldModels = $relationModuleModel->getFieldsByType('owner'); 54 55 $fieldMapping = Zend_Json::decode($taskObject->field_value_mapping); 56 foreach ($fieldMapping as $key => $mappingInfo) { 57 if (array_key_exists($mappingInfo['fieldname'], $ownerFieldModels)) { 58 $userRecordModel = Users_Record_Model::getInstanceByName($mappingInfo['value']); 59 60 if ($userRecordModel) { 61 $ownerName = $userRecordModel->getId(); 62 } else { 63 $groupRecordModel = Settings_Groups_Record_Model::getInstance($mappingInfo['value']); 64 $ownerName = $groupRecordModel->getId(); 65 } 66 67 $fieldMapping[$key]['value'] = $ownerName; 68 } 69 } 70 $taskObject->field_value_mapping = Zend_Json::encode($fieldMapping); 71 } 72 } 73 if ($taskType === 'VTUpdateFieldsTask') { 74 if($moduleModel->getName() =="Documents"){ 75 $restrictFields=array('folderid','filename','filelocationtype'); 76 $viewer->assign('RESTRICTFIELDS',$restrictFields); 77 } 78 } 79 80 $viewer->assign('SOURCE_MODULE',$moduleModel->getName()); 81 $viewer->assign('MODULE_MODEL', $moduleModel); 82 $viewer->assign('TASK_ID',$recordId); 83 $viewer->assign('WORKFLOW_ID',$workflowId); 84 $viewer->assign('DATETIME_FIELDS', $dateTimeFields); 85 $viewer->assign('WORKFLOW_MODEL', $workflowModel); 86 $viewer->assign('TASK_TYPES', $taskTypes); 87 $viewer->assign('TASK_MODEL', $taskModel); 88 $viewer->assign('CURRENTDATE', date('Y-n-j')); 89 $metaVariables = Settings_Workflows_Module_Model::getMetaVariables(); 90 if($moduleModel->getName() == 'Invoice' || $moduleModel->getName() == 'Quotes') { 91 $metaVariables['Portal Pdf Url'] = '(general : (__VtigerMeta__) portalpdfurl)'; 92 } 93 94 // Adding option Line Item block for Individual tax mode 95 $individualTaxBlockLabel = vtranslate("LBL_LINEITEM_BLOCK_GROUP", $qualifiedModuleName); 96 $individualTaxBlockValue = $viewer->view('LineItemsGroupTemplate.tpl', $qualifiedModuleName, $fetch = true); 97 98 // Adding option Line Item block for group tax mode 99 $groupTaxBlockLabel = vtranslate("LBL_LINEITEM_BLOCK_INDIVIDUAL", $qualifiedModuleName); 100 $groupTaxBlockValue = $viewer->view('LineItemsIndividualTemplate.tpl', $qualifiedModuleName, $fetch = true); 101 102 $templateVariables = array( 103 $individualTaxBlockValue => $individualTaxBlockLabel, 104 $groupTaxBlockValue => $groupTaxBlockLabel 105 ); 106 107 $viewer->assign('META_VARIABLES', $metaVariables); 108 $viewer->assign('TEMPLATE_VARIABLES', $templateVariables); 109 $viewer->assign('TASK_OBJECT', $taskObject); 110 $viewer->assign('FIELD_EXPRESSIONS', Settings_Workflows_Module_Model::getExpressions()); 111 $repeat_date = $taskModel->getTaskObject()->calendar_repeat_limit_date; 112 if(!empty ($repeat_date)){ 113 $repeat_date = Vtiger_Date_UIType::getDisplayDateValue($repeat_date); 114 } 115 $viewer->assign('REPEAT_DATE',$repeat_date); 116 117 $userModel = Users_Record_Model::getCurrentUserModel(); 118 $viewer->assign('dateFormat',$userModel->get('date_format')); 119 $viewer->assign('timeFormat', $userModel->get('hour_format')); 120 $viewer->assign('MODULE', $moduleName); 121 $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); 122 123 124 125 $emailFields = $recordStructureInstance->getAllEmailFields(); 126 foreach($emailFields as $metaKey => $emailField) { 127 $emailFieldoptions .= '<option value=",$'.$metaKey.'">'.$emailField->get('workflow_columnlabel').'</option>'; 128 } 129 130 $nameFields = $recordStructureInstance->getNameFields(); 131 $fromEmailFieldOptions = '<option value="">'. vtranslate('Optional', $qualifiedModuleName) .'</option>'; 132 $fromEmailFieldOptions .= '<option value="$(general : (__VtigerMeta__) supportName)<$(general : (__VtigerMeta__) supportEmailId)>" 133 >'.vtranslate('LBL_HELPDESK_SUPPORT_EMAILID', $qualifiedModuleName). 134 '</option>'; 135 136 foreach($emailFields as $metaKey => $emailField) { 137 list($relationFieldName, $rest) = explode(' ', $metaKey); 138 $value = '<$'.$metaKey.'>'; 139 140 if ($nameFields) { 141 $nameFieldValues = ''; 142 foreach (array_keys($nameFields) as $fieldName) { 143 if (strstr($fieldName, $relationFieldName) || (count(explode(' ', $metaKey)) === 1 && count(explode(' ', $fieldName)) === 1)) { 144 $fieldName = '$'.$fieldName; 145 $nameFieldValues .= ' '.$fieldName; 146 } 147 } 148 $value = trim($nameFieldValues).$value; 149 } 150 151 $fromEmailFieldOptions .= '<option value="'.$value.'">'.$emailField->get('workflow_columnlabel').'</option>'; 152 } 153 154 $structure = $recordStructureInstance->getStructure(); 155 // for inventory modules we shouldn't show item detail fields 156 if($taskType == "VTEmailTask" && in_array($workflowModel->getModule()->name, getInventoryModules())){ 157 $itemsBlock = "LBL_ITEM_DETAILS"; 158 unset($structure[$itemsBlock]); 159 } 160 foreach($structure as $fields) { 161 foreach($fields as $field) { 162 $allFieldoptions .= '<option value="$'.$field->get('workflow_columnname').'">'. 163 $field->get('workflow_columnlabel').'</option>'; 164 } 165 } 166 167 $userList = $currentUser->getAccessibleUsers(); 168 $groupList = $currentUser->getAccessibleGroups(); 169 $assignedToValues = array(); 170 $assignedToValues[vtranslate('LBL_USERS', 'Vtiger')] = $userList; 171 $assignedToValues[vtranslate('LBL_GROUPS', 'Vtiger')] = $groupList; 172 173 $viewer->assign('ASSIGNED_TO', $assignedToValues); 174 $viewer->assign('EMAIL_FIELD_OPTION', $emailFieldoptions); 175 $viewer->assign('FROM_EMAIL_FIELD_OPTION', $fromEmailFieldOptions); 176 $viewer->assign('ALL_FIELD_OPTIONS',$allFieldoptions); 177 $viewer->view('EditTask.tpl', $qualifiedModuleName); 178 } 179 }
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 |