function nf_testsuite_yesno_posthandler($processid, $taskid, $userid, $projectid)
{
    if ($processid > 0 and $taskid > 0) {
        $nfclass = new nexflow($processid);
        $nfclass->set_currentTaskid($taskid);
        $msg = $nfclass->get_taskOptionalParm();
        if ($_POST['action'] == 'Accept') {
            $nfclass->complete_task($taskid);
            nf_changeLog("{$msg} - Accepted");
            return "Task: {$taskid}, Interactive Testsuite Function Completed - Accept Detected";
        } else {
            if ($_POST['action'] == 'Reject') {
                $nfclass->cancel_task($taskid);
                nf_changeLog("{$msg} - Rejected");
                return "Task: {$taskid}, Interactive Testsuite Function Completed - Reject Detected";
            }
        }
    }
}
Exemplo n.º 2
0
     }
     if ($layout == 'status') {
         echo display_wfFlowsStatus($usermodeUID, true);
     } else {
         echo display_wfFlowsTabular($usermodeUID, true);
     }
     break;
 case 'mytasks':
     echo taskconsoleShowNavbar('My Tasks');
     echo display_mytasks();
     break;
 case 'canceltask':
     if ($taskid != NULL) {
         $nfclass = new nexflow();
         $nfclass->set_debug(false);
         $nfclass->cancel_task($taskid);
     }
     echo taskconsoleShowNavbar('My Tasks');
     echo display_mytasks();
     break;
 case 'Re-Assign':
     if (SEC_hasRights('nexflow.admin')) {
         $variable_id = COM_applyFilter($_POST['variable_id'], true);
         $reassign_uid = COM_applyFilter($_POST['task_reassign_uid']);
         $assignmentRecId = COM_applyFilter($_REQUEST['id'], true);
         $taskid = COM_applyFilter($_REQUEST['id'], true);
         $currentlyAssignedUID = nf_getAssignedUID($taskid);
         nf_reassign_task($taskid, $reassign_uid, $fromFromTaskUser, $variable_id);
     }
     echo taskconsoleShowNavbar('My Tasks');
     echo display_mytasks($prj_id);
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";
            }
        }
    }
}