$statusmsg = "{$form_name} Draft Updated"; $status = 0; } else { $statusmsg = "{$form_name} has been created"; $status = 1; if ($processid > 0 and $taskid > 0) { // Check if custom workflow handler function being requested - used for inline action forms if (isset($_POST['custom_handler']) and function_exists($_POST['custom_handler'])) { $custom_handler = COM_applyFilter($_POST['custom_handler']); if ($CONF_NF['debug']) { COM_errorLog("{$form_name} form submitted - using custom handler function {$custom_handler}"); } $prj_id = COM_applyFilter($_POST['projectid']); $custom_handler($processid, $taskid, $usermodeuid, $prj_id); } else { $nfclass->complete_task($taskid); if ($CONF_NF['debug']) { COM_errorLog("{$form_name} form submitted - completed taskid: {$taskid}"); } DB_query("UPDATE {$_TABLES['nf_projecttaskhistory']} SET date_completed = UNIX_TIMESTAMP() WHERE task_id='{$taskid}'"); } } } DB_query("UPDATE {$_TABLES['nf_projectforms']} SET status = '{$status}' WHERE id='{$project_formid}'"); if ($newproject) { /* Update the project fields with information if known */ $sql = "SELECT results_id FROM {$_TABLES['nf_projectforms']} "; $sql .= "WHERE project_id='{$project_id}' AND form_id='{$form_id}' "; $query = DB_query($sql); if (DB_numRows($query) == 1) { list($newresult_id) = DB_fetchArray($query);
function nf_testsuite_setvar1_posthandler($processid, $taskid, $userid, $projectid) { if ($processid > 0 and $taskid > 0) { $nfclass = new nexflow($processid, $userid); $nfclass->set_currentTaskid($taskid); $msg = $nfclass->get_taskOptionalParm(); $var1 = COM_applyFilter($_POST['var1'], true); $nfclass->set_processVariable('VAR1', $var1); $nfclass->complete_task($taskid); nf_changeLog("You set VAR1 to {$var1}. Verify the following messages line up!"); } }
function nf_approveEditForm_posthandler($processid, $taskid, $userid, $projectid) { global $_CONF, $_TABLES, $_DB_table_prefix; $nfclass = new nexflow($processid); if ($projectid == '' or $projectid == 0) { $projectid = $nfclass->get_processVariable('PID'); } $actionopt = COM_applyFilter($_POST['actionopt']); $taskid = COM_applyFilter($_POST['taskid']); $formid = COM_applyFilter($_POST['formid']); $processid = COM_applyFilter($_POST['processid']); if ($projectid > 0) { $prj_formid = DB_getItem($_TABLES['nf_projectforms'], 'id', "project_id='{$projectid}' AND form_id='{$formid}'"); } $status = DB_getItem($_TABLES['nf_projectforms'], 'status', "id='{$prj_formid}'"); if (DB_count($_TABLES['nf_project_approvals'], array('uid', 'form_id', 'process_id'), array($userid, $prj_formid, $processid)) == 0) { DB_query("INSERT INTO {$_TABLES['nf_project_approvals']} (process_id,form_id,uid) VALUES ('{$processid}','{$prj_formid}','{$userid}')"); } if ($actionopt == 'accept') { DB_query("UPDATE {$_TABLES['nf_project_approvals']} SET status='3', date_updated=UNIX_TIMESTAMP() WHERE uid='{$userid}' AND form_id='{$prj_formid}'"); } elseif ($actionopt == 'reject') { DB_query("UPDATE {$_TABLES['nf_project_approvals']} SET status='6', date_updated=UNIX_TIMESTAMP() WHERE uid='{$userid}' AND form_id='{$prj_formid}'"); } if (trim($_POST['notes']) != '') { $notes = ppPrepareForDB($_POST['notes']); if (DB_count($_TABLES['nf_projectcomments'], array('project_id', 'task_id'), array($projectid, $taskid)) == 0) { $sql = "INSERT INTO {$_TABLES['nf_projectcomments']} (project_id, task_id, uid, timestamp, comment) "; $sql .= "VALUES ('{$projectid}','{$taskid}','{$userid}',UNIX_TIMESTAMP(),'{$notes}')"; } else { $sql = "UPDATE {$_TABLES['nf_projectcomments']} SET comment='{$notes}', timestamp=UNIX_TIMESTAMP() "; $sql .= "WHERE project_id='{$projectid}' AND task_id='{$taskid}' "; } DB_query($sql); } $formtype = DB_getItem($_TABLES['nf_projectforms'], 'formtype', "id='{$prj_formid}'"); if ($_POST['taskaction'] == 'Complete Task') { if ($processid > 0 and $taskid > 0) { $nfclass = new nexflow($processid, $userid); if ($actionopt == 'accept') { $statusmsg = "{$formtype} approved"; nf_updateStatusLog($projectid, $prj_formid, $statusmsg); $status = DB_getItem($_TABLES['nf_projectforms'], 'status', "id='{$prj_formid}'"); $nfclass = new nexflow($processid, $userid); // Set Process Variable to true which may be checked in the workflow $nfclass->set_ProcessVariable('Review_Approval', 0); $nfclass->complete_task($taskid); // If the form has not yet been rejected by another member then mark it accepted if ($status != 6) { DB_query("UPDATE {$_TABLES['nf_projectforms']} SET status='3' WHERE id='{$prj_formid}'"); } } elseif ($actionopt == 'reject') { DB_query("UPDATE {$_TABLES['nf_projectforms']} SET status='6' WHERE id='{$prj_formid}'"); $statusmsg = "{$formtype} Rejected"; nf_updateStatusLog($projectid, $prj_formid, $statusmsg); // Set Process Variable to false which may be checked in the workflow $nfclass->set_ProcessVariable('Review_Approval', 1); $nfclass->cancel_task($taskid); } else { return "Need to check 'Reject' or 'Accept' to complete the task"; } } } }