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); break; case 'function': // Intertactive WorkFlow action - Execute CallBack Function $function_handler = COM_applyFilter($_POST['function_handler']); $prj_id = COM_applyFilter($_POST['projectid']); $taskid = COM_applyFilter($_POST['taskid']); $processid = COM_applyFilter($_POST['processid']); if (function_exists($function_handler)) { $errmsg = $function_handler($processid, $taskid, $usermodeUID, $prj_id); } echo taskconsoleShowNavbar('My Tasks'); echo display_mytasks();
} switch ($op) { case 'deltask': $assignmentRecId = COM_applyFilter($_REQUEST['taskid'], true); DB_query("DELETE FROM {$_TABLES['nf_productionassignments']} WHERE task_id='{$assignmentRecId}'"); // If there are no more assignment records for this task then remove the workflow queue item if (DB_count($_TABLES['nf_productionassignments'], 'task_id', $taskid) == 0) { DB_query("DELETE FROM {$_TABLES['nf_queue']} WHERE id='{$taskid}'"); DB_query("DELETE FROM {$_TABLES['nf_projecttaskhistory']} WHERE task_id='{$taskid}'"); } break; case 'reassign': $variable_id = COM_applyFilter($_POST['variable_id'], true); $reassign_uid = COM_applyFilter($_POST['task_reassign_uid']); $assignmentRecId = COM_applyFilter($_REQUEST['id'], true); nf_reassign_task($taskid, $reassign_uid, $currentlyAssignedUID, $variable_id); break; case 'assignback': nf_revertToOriginalOwner($assignmentRecId); break; case 'notify': $variable_id = COM_applyFilter($_POST['variable_id'], true); $notifyUID = $currentlyAssignedUID; $email = DB_getItem($_TABLES['users'], 'email', "uid='{$notifyUID}'"); $message = nl2br($_POST['message']) . "\n\n"; if ($email != '') { $sql = "SELECT a.id, a.nf_templateDataID, b.taskname FROM {$_TABLES['nf_queue']} a "; $sql .= "LEFT JOIN {$_TABLES['nf_templatedata']} b on a.nf_templateDataID = b.id "; $sql .= "WHERE a.id='{$taskid}' "; $A = DB_fetchArray(DB_query($sql), false); $notifyUser = COM_getDisplayName($notifyUID);
$status = NXCOM_filterInt($status); if ($status == 0) { $nfclass->hold_process($taskid); } elseif ($status == 3) { $nfclass->unhold_process($taskid); } header("Cache-Control: no-store, no-cache, must-revalidate"); header("content-type: text/xml"); $XML = "<result>"; $XML .= "</result>"; print $XML; } elseif ($op == 'setowner') { if (SEC_hasRights('nexflow.admin')) { $proessessid = DB_getItem($_TABLES['nf_queue'], 'nf_processID', "id={$taskid}"); $assigneduid = DB_getItem($_TABLES['nf_productionassignments'], 'uid', "task_id={$taskid}"); nf_reassign_task($taskid, $taskuser, $assigneduid, $variableid); $sql = "SELECT a.id, b.taskname FROM {$_TABLES['nf_queue']} a LEFT JOIN {$_TABLES['nf_templatedata']} b ON a.nf_templateDataID=b.id WHERE a.id={$taskid};"; $res = DB_query($sql); $A = DB_fetchArray($res); $comment = 'Task Owner change, was ' . COM_getDisplayName($assigneduid) . ', now '; $comment .= COM_getDisplayName($taskuser) . " for task: {$A['taskname']}"; $sql = "INSERT INTO {$_TABLES['nf_projectcomments']} (project_id, task_id, uid, timestamp, comment) "; $sql .= "VALUES ('{$project_id}',{$A['id']},'{$_USER['uid']}',UNIX_TIMESTAMP(),'{$comment}')"; DB_query($sql); } require_once 'libprocessdetails.php'; $p = new Template($_CONF['path_layout'] . 'nexflow/taskconsole'); $p->set_file(array('outstanding' => 'project_detail_outstandingtasks.thtml', 'outstandingtasks' => 'project_detail_outstandingtask_record.thtml')); $p->set_var('rowid', $rowid); $p->set_var('project_id', $project_id); processDetailGetOutstandingTasks($project_id, $p);