* SPDX-License-Identifier: AGPL-3.0-only ************************************/ require_once("VTTaskManager.inc"); require_once("VTWorkflowUtils.php"); require_once("VTWorkflowApplication.inc"); function vtSaveTask($adb, $request){ $util = new VTWorkflowUtils(); $module = new VTWorkflowApplication("savetask"); $mod = return_module_language($current_language, $module->name); if(!$util->checkAdminAccess()){ $errorUrl = $module->errorPageUrl($mod['LBL_ERROR_NOT_ADMIN']); $util->redirectTo($errorUrl, $mod['LBL_ERROR_NOT_ADMIN']); return; } $tm = new VTTaskManager($adb); if(isset($request["task_id"])){ $task = $tm->retrieveTask($request["task_id"]); }else{ $taskType = $request["task_type"]; $workflowId = $request["workflow_id"]; $task = $tm->createTask($taskType, $workflowId); } $task->summary = $request["summary"]; if($request["active"]=="true"){ $task->active=true; }else if($request["active"]=="false"){ $task->active=false; } if(isset($request['check_select_date'])){ $trigger = array( 'days'=>($request['select_date_direction']=='after'?1:-1)*(int)$request['select_date_days'], 'field'=>$request['select_date_field'] ); $task->trigger=$trigger; }else{ //crmv@22921 unset($task->trigger); }//crmv@22921e $fieldNames = $task->getFieldNames(); foreach($fieldNames as $fieldName){ $task->$fieldName = $request[$fieldName]; if ($fieldName == 'calendar_repeat_limit_date') { $task->$fieldName = getDBInsertDateValue($request[$fieldName]); } } $tm->saveTask($task); if(isset($request["return_url"])){ $returnUrl=$request["return_url"]; }else{ $returnUrl=$module->editTaskUrl($task->id); } // crmv@77249 if ($_REQUEST['included'] == true) { $params = array( 'included' => 'true', 'skip_vte_header' => 'true', 'skip_footer' => 'true', 'formodule' => $_REQUEST['formodule'] ); $returnUrl .= "&".http_build_query($params); } // crmv@77249e ?> ">Return