public function load($clusterName) { $result = $this->awsClient->listTasks(['cluster' => $clusterName, 'serviceName' => $this->serviceName, 'maxResults' => 99, 'nextToken' => '']); //get existing tasks foreach ($result['taskArns'] as $taskArn) { $task = new Task(); $task->setArn($taskArn); if (!$task->init($this->creds)) { return false; } if (!$task->load($clusterName)) { return false; } $this->tasks[$taskArn] = $task; } //get task def $details = $this->awsClient->describeServices(['cluster' => $clusterName, 'services' => [$this->serviceName]]); $this->taskDefinition = $details['services'][0]['taskDefinition']; $this->taskDef = new TaskDef(); $this->taskDef->init($this->creds); $this->taskDef->load($this->taskDefinition); //other service items $this->status = $details['services'][0]['status']; $this->minHealthyPercent = $details['services'][0]['deploymentConfiguration']['minimumHealthyPercent']; $this->maxPercent = $details['services'][0]['deploymentConfiguration']['maximumPercent']; $this->desiredTaskCount = $details['services'][0]['desiredCount']; $this->pendingTaskCount = $details['services'][0]['pendingCount']; $this->runningTaskCount = $details['services'][0]['runningCount']; return true; }
private function updateParent() { $p_id = $this->parent_id; if (!empty($p_id)) { $parent = new Task(); $parent->load($p_id); $parent->updateProperties(); } }
public static function task($taskID = null) { if ($taskID == null) { return null; } $task = Task::load($taskID); $title = $task->getTitle(); $projectID = $task->getProjectID(); return array_merge(self::tasks($projectID), self::oneCrumb($title, Url::task($taskID))); }
public function _new() { parent::_new(); $costcharge = $this->_uses[$this->modeltype]; if (!$costcharge->isLoaded()) { $costcharge->item_type = key($this->_templateobject->getEnumOptions('item_type')); $costcharge->source_type = key($this->_templateobject->getEnumOptions('source_type')); } if (isset($this->_data['project_id'])) { $costcharge->project_id = $this->_data['project_id']; } if (isset($this->_data['task_id'])) { $costcharge->task_id = $this->_data['task_id']; $task = new Task(); $task->load($this->_data['task_id']); $costcharge->project_id = $task->project_id; } if (!is_null($costcharge->project_id) && is_null($costcharge->task_id)) { $this->view->set('tasks', $this->getTaskList($costcharge->project_id)); } // switch ($costcharge->item_type) { // case 'PO': // $account=new PLSupplier(); // $this->view->set('account_type', 'Supplier'); // break; // case 'SI': // $account=new SLCustomer(); // $this->view->set('account_type', 'Customer'); // break; // } // $this->view->set('accounts', $account->getAll()); $sidebarlist['equipment_cost_charge'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'new_cost_charge', 'project_id' => $costcharge->project_id, 'task_id' => $costcharge->task_id, 'source_type' => 'E'), 'tag' => 'Equipment Usage'); $sidebarlist['resource_cost_charge'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'new_cost_charge', 'project_id' => $costcharge->project_id, 'task_id' => $costcharge->task_id, 'source_type' => 'R'), 'tag' => 'Timesheets'); $sidebarlist['expenses_cost_charge'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'new_cost_charge', 'project_id' => $costcharge->project_id, 'task_id' => $costcharge->task_id, 'source_type' => 'X'), 'tag' => 'Expenses'); $sidebarlist['material_cost_charge'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'new_cost_charge', 'project_id' => $costcharge->project_id, 'task_id' => $costcharge->task_id, 'source_type' => 'M'), 'tag' => 'Purchase Order'); $sidebar = new SidebarController($this->view); $sidebar->addList('Create Charge From', $sidebarlist); $sidebarlist = array(); $sidebarlist['budget_cost_charge'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'new_cost_charge', 'project_id' => $costcharge->project_id, 'task_id' => $costcharge->task_id, 'source_type' => 'B'), 'tag' => 'Budget Cost'); $sidebar->addList('Create Cost From', $sidebarlist); $this->view->register('sidebar', $sidebar); $this->view->set('sidebar', $sidebar); }
$oProcessMap->exploreDirectory($oData->pro_uid, $oData->main_directory, $oData->directory); G::auditLog('ProcessFileManager','Upload template ('.$oData->main_directory.') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'deleteFile': $oProcessMap->deleteFile($oData->pro_uid, $oData->main_directory, $oData->directory, $oData->file); G::auditLog('ProcessFileManager','Delete template ('.$oData->main_directory.': '.$oData->file.') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'deleteDirectory': $oProcessMap->deleteDirectory($oData->pro_uid, $oData->main_directory, $oData->directory, $oData->dir_to_delete); break; case 'downloadFile': $oProcessMap->downloadFile($oData->pro_uid, $oData->main_directory, $oData->directory, $oData->file); break; case 'deleteSubProcess': $oTaskNewPattern = new Task(); $taskInfo=$oTaskNewPattern->load($oData->tas_uid); $titleTask=$taskInfo['TAS_TITLE']; G::auditlog("DeleteSubProcess",'Delete Sub-Process -> '.$titleTask.' : '.$oData->tas_uid); $sOutput = $oProcessMap->deleteSubProcess($oData->pro_uid, $oData->tas_uid); break; case 'subProcess_Properties': $oProcessMap->subProcess_Properties($oData->pro_uid, $oData->tas_uid, $oData->index); break; case 'showDetailsPMDWL': G::LoadClass('processes'); $oProcesses = new Processes(); $oProcesses->ws_open_public(); $aFields = get_object_vars($oProcesses->ws_processGetData($oData->pro_uid)); $aFields['description'] = nl2br($aFields['description']); $aFields['installSteps'] = nl2br($aFields['installSteps']);
$('div.upload p.secondary a.preview').click(function(){ $(this).parent().parent().find('a.thumb.preview').click(); return false; }); }); </script> <div id="flowplayer" style="overflow: hidden;"></div> <div id="imageviewer" style="overflow: hidden;"></div> <div id="flashviewer"></div> <?php function getUploadCssClass($ext) { $className = ''; switch ($ext) { case 'jpg': case 'jpeg': case 'png': case 'gif': $className = 'image'; break; case 'mp3': $className = 'audio'; break; case 'fla': case 'swf': case 'flv': $className = 'flash'; break; case 'mpeg': case 'mp4': case '3gp':
function formatEvent($event, $showProject = false) { switch ($event->getEventTypeID()) { case 'create_user': $formatted = sprintf("%s registered for %s.", formatUserLink($event->getUser1ID()), '<a href="' . Url::base() . '">' . PIPELINE_NAME . '</a>'); break; case 'send_message': $formatted = sprintf("%s sent a message to %s.", formatUserLink($event->getUser1ID()), formatUserLink($event->getUser2ID())); break; case 'accept_member_invitation': $predicate = $showProject ? 'the project ' . formatProjectLink($event->getProjectID()) : "this project"; $formatted = sprintf("%s accepted %s's invitation to join %s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), formatUserLink($event->getUser2ID(), $event->getProjectID()), $predicate); break; case 'trust_member': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s trusted %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), formatUserLink($event->getUser2ID(), $event->getProjectID()), $predicate); break; case 'untrust_member': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s untrusted %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), formatUserLink($event->getUser2ID(), $event->getProjectID()), $predicate); break; case 'join_project': $predicate = $showProject ? ' ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s joined the project%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), $predicate); break; case 'leave_project': $predicate = $showProject ? ' ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s left the project%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), $predicate); break; case 'follow_project': $predicate = $showProject ? ' ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s followed the project%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), $predicate); break; case 'unfollow_project': $predicate = $showProject ? ' ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s unfollowed the project%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), $predicate); break; case 'ban_user': $predicate = $showProject ? ' from the project ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s banned %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), formatUserLink($event->getUser2ID(), $event->getProjectID()), $predicate); break; case 'unban_user': $predicate = $showProject ? ' from the project ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s unbanned %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), formatUserLink($event->getUser2ID(), $event->getProjectID()), $predicate); break; case 'create_project': $predicate = $showProject ? 'the project ' . formatProjectLink($event->getProjectID()) : 'this project'; $formatted = sprintf("%s created %s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), formatProjectLink($event->getProjectID())); break; case 'edit_pitch': $predicate = $showProject ? ' for the project ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s edited the %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . Url::pitch($event->getProjectID()) . '">pitch</a>', $predicate); break; case 'edit_specs': $predicate = $showProject ? ' for the project ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s edited the %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . Url::specs($event->getProjectID()) . '">specs</a>', $predicate); break; case 'edit_rules': $predicate = $showProject ? ' for the project ' . formatProjectLink($event->getProjectID()) : ''; $formatted = sprintf("%s edited the %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . Url::rules($event->getProjectID()) . '">rules</a>', $predicate); break; case 'edit_project_status': $predicate = $showProject ? 'the project ' . formatProjectLink($event->getProjectID()) : 'this project'; $status = $event->getData2(); $formatted = sprintf("%s changed the %s of %s to “%s.”", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . Url::status($event->getProjectID()) . '">status</a>', $predicate, formatProjectStatus($status)); break; case 'edit_project_deadline': $deadline = $event->getData2(); if ($deadline != null) { $predicate = $showProject ? 'the project ' . formatProjectLink($event->getProjectID()) : 'this project'; $formatted = sprintf("%s changed the %s of %s to %s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . Url::deadline($event->getProjectID()) . '">deadline</a>', $predicate, strftime("%a, %b %d, %Y", strtotime($deadline))); } else { $predicate = $showProject ? 'the project ' . formatProjectLink($event->getProjectID()) : 'this project'; $formatted = sprintf("%s removed the %s for %s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . Url::deadline($event->getProjectID()) . '">deadline</a>', $predicate); } break; case 'create_discussion': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $discussion = Discussion::load($event->getItem1ID()); $title = $discussion->getTitle(); $url = Url::discussion($discussion->getID()); $formatted = sprintf("%s posted the discussion %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'lock_discussion': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $discussion = Discussion::load($event->getItem1ID()); $title = $discussion->getTitle(); $url = Url::discussion($discussion->getID()); $formatted = sprintf("%s locked the discussion %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'unlock_discussion': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $discussion = Discussion::load($event->getItem1ID()); $title = $discussion->getTitle(); $url = Url::discussion($discussion->getID()); $formatted = sprintf("%s unlocked the discussion %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'create_discussion_reply': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $discussion = Discussion::load($event->getItem2ID()); $title = $discussion->getTitle(); $url = Url::discussion($discussion->getID()); $formatted = sprintf("%s replied to the discussion %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'create_task': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem1ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $formatted = sprintf("%s created the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'edit_task_title': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem1ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $formatted = sprintf("%s edited the name of the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'edit_task_status': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem1ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $status = $event->getData2(); if ($status == Task::STATUS_CLOSED) { $formatted = sprintf("%s closed the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); } else { $formatted = sprintf("%s opened the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); } break; case 'edit_task_num_needed': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem1ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $numNeeded = $event->getData2(); if ($numNeeded != '') { $formatted = sprintf("%s changed the # people needed for the task %s%s to %s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate, $numNeeded); } else { $formatted = sprintf("%s changed the # people needed for the task %s%s to ∞.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate, $numNeeded); } break; case 'edit_task_leader': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem1ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $formatted = sprintf("%s changed the leader of the task %s%s to %s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate, formatUserLink($event->getUser2ID(), $event->getProjectID())); break; case 'edit_task_description': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem1ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $formatted = sprintf("%s edited the instructions for the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'edit_task_uploads': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem1ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $formatted = sprintf("%s edited the attached files for the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'edit_task_deadline': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem1ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $deadline = $event->getData2(); if ($deadline != '') { $formatted = sprintf("%s changed the deadline for the task %s%s to %s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate, strftime("%a, %b %d, %Y", strtotime($deadline))); } else { $formatted = sprintf("%s removed the deadline for the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); } break; case 'accept_task': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $accepted = Accepted::load($event->getItem1ID()); //$acceptedUrl = Url::updates($accepted->getID()); $task = Task::load($event->getItem2ID()); $taskTitle = $task->getTitle(); $taskUrl = Url::task($task->getID()); $formatted = sprintf("%s joined the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $taskUrl . '">' . $taskTitle . '</a>', $predicate); break; case 'release_task': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $accepted = Accepted::load($event->getItem1ID()); //$acceptedUrl = Url::updates($accepted->getID()); $task = Task::load($event->getItem2ID()); $taskTitle = $task->getTitle(); $taskUrl = Url::task($task->getID()); $formatted = sprintf("%s left the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $taskUrl . '">' . $taskTitle . '</a>', $predicate); break; case 'edit_accepted_status': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $update = Update::load($event->getItem1ID()); $updateTitle = $update->getTitle(); $updateUrl = Url::update($update->getID()); $accepted = Accepted::load($event->getItem2ID()); $task = Task::load($event->getItem3ID()); $taskTitle = $task->getTitle(); $taskUrl = Url::task($task->getID()); $status = $event->getData2(); if ($status == Accepted::STATUS_FEEDBACK) { $formatted = sprintf("%s is seeking feedback on his/her work on the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $taskUrl . '">' . $taskTitle . '</a>', $predicate); } elseif ($status == Accepted::STATUS_COMPLETED) { $formatted = sprintf("%s is finished working on the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $taskUrl . '">' . $taskTitle . '</a>', $predicate); } elseif ($status == Accepted::STATUS_PROGRESS) { $formatted = sprintf("%s is working on the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $taskUrl . '">' . $taskTitle . '</a>', $predicate); } break; case 'create_task_comment': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem2ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $formatted = sprintf("%s commented on the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'create_task_comment_reply': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $task = Task::load($event->getItem3ID()); $title = $task->getTitle(); $url = Url::task($task->getID()); $formatted = sprintf("%s replied to a comment on the task %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'create_update_comment': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $update = Update::load($event->getItem2ID()); $title = $update->getTitle(); $url = Url::update($update->getID()); $formatted = sprintf("%s commented on the contribution %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'create_update_comment_reply': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $update = Update::load($event->getItem3ID()); $title = $update->getTitle(); $url = Url::update($update->getID()); $formatted = sprintf("%s replied to a comment on the contribution %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $url . '">' . $title . '</a>', $predicate); break; case 'create_update': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $update = Update::load($event->getItem1ID()); $updateTitle = $update->getTitle(); $updateUrl = Url::update($update->getID()); $formatted = sprintf("%s created the contribution %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $updateUrl . '">' . $updateTitle . '</a>', $predicate); break; case 'edit_update_title': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $update = Update::load($event->getItem1ID()); $updateTitle = $update->getTitle(); $updateUrl = Url::update($update->getID()); $formatted = sprintf("%s edited the title of the contribution %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $updateUrl . '">' . $updateTitle . '</a>', $predicate); break; case 'edit_update_message': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $update = Update::load($event->getItem1ID()); $updateTitle = $update->getTitle(); $updateUrl = Url::update($update->getID()); $formatted = sprintf("%s edited the contents of the contribution %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $updateUrl . '">' . $updateTitle . '</a>', $predicate); break; case 'edit_update_uploads': $predicate = $showProject ? ' in the project ' . formatProjectLink($event->getProjectID()) : ''; $update = Update::load($event->getItem1ID()); $updateTitle = $update->getTitle(); $updateUrl = Url::update($update->getID()); $formatted = sprintf("%s edited the attached files for the contribution %s%s.", formatUserLink($event->getUser1ID(), $event->getProjectID()), '<a href="' . $updateUrl . '">' . $updateTitle . '</a>', $predicate); break; default: $formatted = 'Event type "' . $event->getEventTypeID() . '" not found.'; } return $formatted; }
$aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; if (isset($aRow['ROU_OPTIONAL']) && trim($aRow['ROU_OPTIONAL']) != '' && ($aRow['ROU_OPTIONAL'] === 'TRUE' || $aRow['ROU_OPTIONAL'] === 'FALSE')) { $aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; } $rou_id = $oRoute->create($aFields); if ($aRow['ROU_NEXT_TASK'] == '-1') { if ($aRow['ROU_CONDITION'] == '') { $tasksAffected .= 'From -> ' . $titleTask . ' : ' . $aData['TASK'] . ' To End Of Process Condition -> Empty; '; } else { $tasksAffected .= 'From -> ' . $titleTask . ' : ' . $aData['TASK'] . ' To End Of Process Condition -> ' . $aFields['ROU_CONDITION'] . ' ; '; } } else { $oTaskSaveNextPattern = new Task(); $taskNextInfo = $oTaskSaveNextPattern->load($aRow['ROU_NEXT_TASK']); $titleNextTask = $taskNextInfo['TAS_TITLE']; if ($aRow['ROU_CONDITION'] == '') { $tasksAffected .= 'From -> ' . $titleTask . ' : ' . $aData['TASK'] . ' To -> ' . $titleNextTask . ' : ' . $aRow['ROU_NEXT_TASK'] . ' Condition -> Empty ; '; } else { $tasksAffected .= 'From -> ' . $titleTask . ' : ' . $aData['TASK'] . ' To -> ' . $titleNextTask . ' : ' . $aRow['ROU_NEXT_TASK'] . ' Condition -> ' . $aFields['ROU_CONDITION'] . ' ; '; } } unset($aFields); } $oProcessNewPattern = new Process(); $processInfo = $oProcessNewPattern->load($aData['PROCESS']); $titleProcess = $processInfo['PRO_TITLE']; G::auditLog("DerivationRule", 'PROCESS NAME : ' . $titleProcess . ' : ' . $aData['PROCESS'] . ' Change Routing Rule From : ' . $aData['ROU_TYPE'] . ' Details : ROU_TYPE_OLD -> ' . $aData['ROU_TYPE_OLD'] . ' ROU_TYPE ->' . $aData['ROU_TYPE'] . ' ' . $tasksAffected); break; case 'DISCRIMINATOR':
function getDerivatedCases ($sParentUid, $sDelIndexParent) { $oCriteria = new Criteria( 'workflow' ); $cases = array (); $derivation = array (); //get the child delegations , of parent delIndex $children = array (); $oCriteria->clearSelectColumns(); $oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX ); $oCriteria->add( AppDelegationPeer::APP_UID, $sParentUid ); $oCriteria->add( AppDelegationPeer::DEL_PREVIOUS, $sDelIndexParent ); $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); while (is_array( $aRow )) { $children[] = $aRow['DEL_INDEX']; $oDataset->next(); $aRow = $oDataset->getRow(); } //foreach child , get the info of their derivations and subprocesses foreach ($children as $keyChild => $child) { $oCriteria = new Criteria( 'workflow' ); $oCriteria->clearSelectColumns(); $oCriteria->addSelectColumn( SubApplicationPeer::APP_UID ); $oCriteria->addSelectColumn( AppDelegationPeer::APP_UID ); $oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX ); $oCriteria->addSelectColumn( AppDelegationPeer::PRO_UID ); $oCriteria->addSelectColumn( AppDelegationPeer::TAS_UID ); $oCriteria->addSelectColumn( AppDelegationPeer::USR_UID ); $oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); $oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); $oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); $oCriteria->add( SubApplicationPeer::APP_PARENT, $sParentUid ); $oCriteria->add( SubApplicationPeer::DEL_INDEX_PARENT, $child ); $oCriteria->addJoin( SubApplicationPeer::APP_UID, AppDelegationPeer::APP_UID ); $oCriteria->addJoin( AppDelegationPeer::USR_UID, UsersPeer::USR_UID ); $oDataset = SubApplicationPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); while (is_array( $aRow )) { $oProcess = new Process(); $proFields = $oProcess->load( $aRow['PRO_UID'] ); $oCase = new Application(); $appFields = $oCase->load( $aRow['APP_UID'] ); $oTask = new Task(); $tasFields = $oTask->load( $aRow['TAS_UID'] ); $derivation[] = array ('processId' => $aRow['PRO_UID'],'processTitle' => $proFields['PRO_TITLE'],'caseId' => $aRow['APP_UID'],'caseNumber' => $appFields['APP_NUMBER'],'taskId' => $aRow['TAS_UID'],'taskTitle' => $tasFields['TAS_TITLE'],'userId' => $aRow['USR_UID'],'userName' => $aRow['USR_USERNAME'],'userFullname' => $aRow['USR_FIRSTNAME'] . ' ' . $aRow['USR_LASTNAME'] ); $oDataset->next(); $aRow = $oDataset->getRow(); } } return $derivation; }
global $G_FORM; $sPRO_UID = $oData->PRO_UID; $sTASKS = $oData->TASKS; $sDYNAFORM = $oData->DYNAFORM; $sWE_TYPE = $oData->WE_TYPE; $sWS_USER = $oData->WS_USER; $sWS_PASS = $oData->WS_PASS; $sWS_ROUNDROBIN = $oData->WS_ROUNDROBIN; $sWE_USR = $oData->WE_USR; $withWS = $sWE_TYPE == 'WS'; G::LoadClass("system"); try { $pathProcess = PATH_DATA_SITE . 'public' . PATH_SEP . $sPRO_UID . PATH_SEP; G::mk_dir($pathProcess, 0777); $oTask = new Task(); $TaskFields = $oTask->load($sTASKS); $WE_EVN_UID = $oTask->getStartingEvent($sTASKS); if ($TaskFields['TAS_ASSIGN_TYPE'] != 'BALANCED') { throw new Exception("The task '" . $TaskFields['TAS_TITLE'] . "' doesn't have a valid assignment type. The task needs to have a 'Cyclical Assignment'."); } G::LoadClass('tasks'); $oTask = new Tasks(); $user = $oTask->assignUsertoTask($sTASKS); if ($user == 0) { throw new Exception(G::LoadTranslation('ID_TASK') . "'" . $TaskFields['TAS_TITLE'] . "'" . G::LoadTranslation('ID_NOT_HAVE_USERS')); } $http = G::is_https() ? "https://" : "http://"; $sContent = ''; $infoProcess = new Process(); $resultProcess = $infoProcess->load($sPRO_UID); if ($withWS) {
public function getTaskDescription () { $c = new Criteria( 'workflow' ); $c->clearSelectColumns(); $c->addSelectColumn( TaskPeer::TAS_UID ); $oDataset = TaskPeer::doSelectRS( $c ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRows = Array (); while ($aRow = $oDataset->getRow()) { $aRows[] = $aRow; $oDataset->next(); } foreach ($aRows as $k => $aRow) { $oTask = new Task(); $aTaskRow = $oTask->load( $aRow['TAS_UID'] ); $aRows[$k] = array_merge( $aRow, array ('TAS_TITLE' => $aTaskRow['TAS_TITLE'] ), array ('PRO_UID' => $aTaskRow['PRO_UID'] ) ); } return $aRows; }
$cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE); $oDataset = AppCacheViewPeer::doSelectRS($cProcess); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $processes[] = array($aRow['PRO_UID'], $aRow['APP_PRO_TITLE']); $oDataset->next(); } return print G::json_encode($processes); } if ($actionAjax == "getUsersToReassign") { $_SESSION['TASK'] = $_REQUEST['TAS_UID']; $case = new Cases(); G::LoadClass('tasks'); $task = new Task(); $tasks = $task->load($_SESSION['TASK']); $result->data = $case->getUsersToReassign($_SESSION['TASK'], $_SESSION['USER_LOGGED'], $tasks['PRO_UID']); print G::json_encode($result); } if ($actionAjax == 'reassignCase') { $APP_UID = $_REQUEST["APP_UID"]; $DEL_INDEX = $_REQUEST["DEL_INDEX"]; $_SESSION['APPLICATION'] = $APP_UID; $_SESSION['INDEX'] = $DEL_INDEX; $cases = new Cases(); $user = new Users(); $app = new Application(); $TO_USR_UID = $_POST['USR_UID']; try { $cases->reassignCase($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], $TO_USR_UID); $caseData = $app->load($_SESSION['APPLICATION']);
/** * Get process and task properties * * @param object $httpData{type, UID} */ public function getProperties($httpData) { switch ($httpData->type) { case 'process': require_once 'classes/model/ProcessCategory.php'; require_once 'classes/model/CalendarDefinition.php'; G::LoadClass('processMap'); $oProcessMap = new processMap(new DBConnection()); $process = $oProcessMap->editProcessNew($httpData->UID); $category = ProcessCategoryPeer::retrieveByPk($process['PRO_CATEGORY']); $categoryName = is_object($category) ? $category->getCategoryName() : ''; $calendar = CalendarDefinitionPeer::retrieveByPk($process['PRO_CALENDAR']); $calendarName = is_object($calendar) ? $calendar->getCalendarName() : ''; $properties['Title'] = $process['PRO_TITLE']; $properties['Description'] = $process['PRO_DESCRIPTION']; $properties['Calendar'] = $calendarName; $properties['Category'] = $categoryName; $properties['Debug'] = $process['PRO_DEBUG'] == '1' ? true : false; $this->sucess = true; $this->prop = $properties; break; case 'task': require_once 'classes/model/Task.php'; $task = new Task(); $taskData = $task->load($httpData->UID); $properties['Title'] = $taskData['TAS_TITLE']; $properties['Description'] = $taskData['TAS_DESCRIPTION']; $properties['Variable for case priority'] = $taskData['TAS_PRIORITY_VARIABLE']; $properties['Starting Task'] = $taskData['TAS_START'] == 'TRUE' ? true : false; $this->sucess = true; $this->prop = $properties; break; } }
/** * Get available Triggers of a Step * * @param string $stepUid Unique id of Step * @param string $type Type (BEFORE, AFTER, BEFORE_ASSIGNMENT, BEFORE_ROUTING, AFTER_ROUTING) * @param string $taskUid Unique id of Task * * return array Return an array with the Triggers available of a Step */ public function getAvailableTriggers($stepUid, $type, $taskUid = "") { try { $arrayAvailableTrigger = array(); //Verify data if ($stepUid != "") { $this->throwExceptionIfNotExistsStep($stepUid); } if ($stepUid == "") { $this->throwExceptionIfNotExistsTask($taskUid); } //Get data $trigger = new \ProcessMaker\BusinessModel\Trigger(); $flagStepAssignTask = 0; if ($stepUid != "") { //Load Step $step = new \Step(); $arrayStepData = $step->load($stepUid); $processUid = $arrayStepData["PRO_UID"]; } else { //Load Task $task = new \Task(); $arrayTaskData = $task->load($taskUid); $processUid = $arrayTaskData["PRO_UID"]; //Set variables $flagStepAssignTask = 1; switch ($type) { case "BEFORE_ASSIGNMENT": $stepUid = "-1"; $type = "BEFORE"; break; case "BEFORE_ROUTING": $stepUid = "-2"; $type = "BEFORE"; break; case "AFTER_ROUTING": $stepUid = "-2"; $type = "AFTER"; break; } } //Get data //Get Uids $arrayUid = array(); $criteria = new \Criteria("workflow"); $criteria->addSelectColumn(\StepTriggerPeer::TRI_UID); $criteria->add(\StepTriggerPeer::STEP_UID, $stepUid, \Criteria::EQUAL); if ($flagStepAssignTask == 1) { $criteria->add(\StepTriggerPeer::TAS_UID, $taskUid, \Criteria::EQUAL); } $criteria->add(\StepTriggerPeer::ST_TYPE, $type, \Criteria::EQUAL); $rsCriteria = \StepTriggerPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $arrayUid[] = $row["TRI_UID"]; } //Criteria $criteria = $trigger->getTriggerCriteria(); $criteria->add(\TriggersPeer::TRI_UID, $arrayUid, \Criteria::NOT_IN); $criteria->add(\TriggersPeer::PRO_UID, $processUid, \Criteria::EQUAL); $criteria->addAscendingOrderByColumn("TRI_TITLE"); $rsCriteria = \TriggersPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $arrayAvailableTrigger[] = array( $this->getFieldNameByFormatFieldName("TRI_UID") => $row["TRI_UID"], $this->getFieldNameByFormatFieldName("TRI_TITLE") => $row["TRI_TITLE"], $this->getFieldNameByFormatFieldName("TRI_DESCRIPTION") => $row["TRI_DESCRIPTION"], $this->getFieldNameByFormatFieldName("TRI_TYPE") => $row["TRI_TYPE"], $this->getFieldNameByFormatFieldName("TRI_WEBBOT") => $row["TRI_WEBBOT"], $this->getFieldNameByFormatFieldName("TRI_PARAM") => $row["TRI_PARAM"] ); } //Return return $arrayAvailableTrigger; } catch (\Exception $e) { throw $e; } }
<?php try { require_once "classes/model/Task.php"; require_once "classes/model/Users.php"; G::LoadClass('case'); G::LoadClass('derivation'); $oTask = new Task(); $TaskFields = $oTask->load($_POST['TASKS']); $aDerivation['NEXT_TASK'] = $TaskFields; $oDerivation = new Derivation(); $deriva = $oDerivation->getNextAssignedUser($aDerivation); $oCase = new Cases(); $aData = $oCase->startCase($_POST['TASKS'], $deriva['USR_UID']); $case = $oCase->loadCase($aData['APPLICATION'], 1); $Fields = array(); $Fields['APP_NUMBER'] = $case['APP_NUMBER']; $Fields['APP_PROC_STATUS'] = 'draft'; $Fields['APP_DATA'] = $_POST['form']; $Fields['DEL_INDEX'] = 1; $Fields['TAS_UID'] = $_POST['TASKS']; //$Fields = $oCase->loadCase($aData['APPLICATION'], 1); $oCase->updateCase($aData['APPLICATION'], $Fields); $s = 0; if (isset($_SERVER['HTTP_REFERER'])) { $dir = explode('?', $_SERVER['HTTP_REFERER']); if ($dir[1] == '__flag__=1') { $s = 1; } else { $dire = explode('&', $dir[1]); for ($i = 0; $i <= count($dire); $i++) {
/** * Delete all routes from a task * @param string $sProcessUID * @param string $sTaskUID * @return boolean */ public function deleteAllGatewayOfTask($sProcessUID = '', $sTaskUID = '', $bAll = false) { try { $oProcess = new Process(); $aFields = $oProcess->load($sProcessUID); $oTask = new Task(); $aFields = $oTask->load($sTaskUID); $oCriteria = new Criteria('workflow'); $oCriteria->add(GatewayPeer::PRO_UID, $sProcessUID); $oCriteria->add(GatewayPeer::TAS_UID, $sTaskUID); GatewayPeer::doDelete($oCriteria); if ($bAll) { $oCriteria = new Criteria('workflow'); $oCriteria->add(GatewayPeer::PRO_UID, $sProcessUID); $oCriteria->add(GatewayPeer::GAT_NEXT_TASK, $sTaskUID); GatewayPeer::doDelete($oCriteria); } return true; } catch (Exception $oError) { throw $oError; } }
function save($params) { require_once 'classes/model/Event.php'; global $G_FORM; $sPRO_UID = $params->pro_uid; $sEVN_UID = $params->evn_uid; $sDYNAFORM = $params->initDyna; $sWS_USER = trim($params->username); $sWS_PASS = trim($params->password); $sWS_ROUNDROBIN = ''; $sWE_USR = ''; $xDYNA = $params->dynaform; if ($xDYNA != '') { $pro_uid = $params->pro_uid; $filename = $xDYNA; $filename = $filename . '.php'; unlink(PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . $filename); unlink(PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . str_replace(".php", "Post", $filename) . ".php"); } //return $params; G::LoadClass("system"); $pathProcess = PATH_DATA_SITE . 'public' . PATH_SEP . $sPRO_UID . PATH_SEP; G::mk_dir($pathProcess, 0777); $oEvent = new Event(); $oEvent->load($sEVN_UID); $sTASKS = $oEvent->getEvnTasUidTo(); $oTask = new Task(); $oTask->load($sTASKS); $tas_title = $oTask->getTasTitle(); if (G::is_https()) { $http = 'https://'; } else { $http = 'http://'; } $sContent = ''; $SITE_PUBLIC_PATH = ''; if (file_exists($SITE_PUBLIC_PATH . '')) { } require_once 'classes/model/Dynaform.php'; $oDynaform = new Dynaform(); $aDynaform = $oDynaform->load($sDYNAFORM); $dynTitle = str_replace(' ', '_', str_replace('/', '_', $aDynaform['DYN_TITLE'])); $sContent = "<?php\n"; $sContent .= "global \$_DBArray;\n"; $sContent .= "if (!isset(\$_DBArray)) {\n"; $sContent .= " \$_DBArray = array();\n"; $sContent .= "}\n"; $sContent .= "\$_SESSION['PROCESS'] = '" . $sPRO_UID . "';\n"; $sContent .= "\$_SESSION['CURRENT_DYN_UID'] = '" . $sDYNAFORM . "';\n"; $sContent .= "\$G_PUBLISH = new Publisher;\n"; $sContent .= "\$G_PUBLISH->AddContent('dynaform', 'xmlform', '" . $sPRO_UID . '/' . $sDYNAFORM . "', '', array(), '" . $dynTitle . 'Post.php' . "');\n"; $sContent .= "G::RenderPage('publish', 'blank');"; file_put_contents($pathProcess . $dynTitle . '.php', $sContent); //creating the second file, the post file who receive the post form. $pluginTpl = PATH_CORE . 'templates' . PATH_SEP . 'processes' . PATH_SEP . 'webentryPost.tpl'; $template = new TemplatePower($pluginTpl); $template->prepare(); $template->assign('wsdlUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'); $template->assign('wsUploadUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/upload'); $template->assign('processUid', $sPRO_UID); $template->assign('dynaformUid', $sDYNAFORM); $template->assign('taskUid', $sTASKS); $template->assign('wsUser', $sWS_USER); $template->assign('wsPass', 'md5:' . md5($sWS_PASS)); $template->assign('wsRoundRobin', $sWS_ROUNDROBIN); if ($sWE_USR == "2") { $template->assign('USR_VAR', "\$cInfo = ws_getCaseInfo(\$caseId);\n\t \$USR_UID = \$cInfo->currentUsers->userId;"); } else { $template->assign('USR_VAR', '$USR_UID = -1;'); } $template->assign('dynaform', $dynTitle); $template->assign('timestamp', date('l jS \\of F Y h:i:s A')); $template->assign('ws', SYS_SYS); $template->assign('version', System::getVersion()); $fileName = $pathProcess . $dynTitle . 'Post.php'; file_put_contents($fileName, $template->getOutputContent()); //creating the third file, only if this wsClient.php file doesn't exists. $fileName = $pathProcess . 'wsClient.php'; $pluginTpl = PATH_CORE . 'test' . PATH_SEP . 'unit' . PATH_SEP . 'ws' . PATH_SEP . 'wsClient.php'; if (file_exists($fileName)) { if (filesize($fileName) != filesize($pluginTpl)) { @copy($fileName, $pathProcess . 'wsClient.php.bck'); @unlink($fileName); $template = new TemplatePower($pluginTpl); $template->prepare(); file_put_contents($fileName, $template->getOutputContent()); } } else { $template = new TemplatePower($pluginTpl); $template->prepare(); file_put_contents($fileName, $template->getOutputContent()); } require_once 'classes/model/Event.php'; $oEvent = new Event(); $aDataEvent = array(); $aDataEvent['EVN_UID'] = $sEVN_UID; $aDataEvent['EVN_RELATED_TO'] = 'MULTIPLE'; $aDataEvent['EVN_ACTION'] = $sDYNAFORM; $aDataEvent['EVN_CONDITIONS'] = $sWS_USER; $output = $oEvent->update($aDataEvent); $link = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sPRO_UID . '/' . $dynTitle . '.php'; $this->success = true; $this->msg = G::LoadTranslation('ID_WEB_ENTRY_SUCCESS_NEW'); $this->W_LINK = $link; $this->TAS_TITLE = $tas_title; $this->DYN_TITLE = $dynTitle; $this->USR_UID = $sWS_USER; }
/** * * @method * * Returns a list of the next assigned users to a case. * * @name PMFGetNextAssignedUser * @label PMFGet Next Assigned User * * @param string(32) | $application | Case ID | Id of the case * @param string(32) | $task | Task ID | Id of the task * @return array | $array | List of users | Return a list of users * */ function PMFGetNextAssignedUser($application, $task, $delIndex = null, $userUid = null) { require_once 'classes/model/AppDelegation.php'; require_once 'classes/model/Task.php'; require_once 'classes/model/TaskUser.php'; require_once 'classes/model/Users.php'; require_once 'classes/model/Groupwf.php'; require_once 'classes/model/GroupUser.php'; $oTask = new Task(); $TaskFields = $oTask->load($task); $typeTask = $TaskFields['TAS_ASSIGN_TYPE']; $g = new G(); $g->sessionVarSave(); $_SESSION['INDEX'] = !is_null($delIndex) ? $delIndex : (isset($_SESSION['INDEX']) ? $_SESSION['INDEX'] : null); $_SESSION['USER_LOGGED'] = !is_null($userUid) ? $userUid : (isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : null); if ($typeTask == 'BALANCED' && !is_null($_SESSION['INDEX']) && !is_null($_SESSION['USER_LOGGED'])) { G::LoadClass('derivation'); $oDerivation = new Derivation(); $aDeriv = $oDerivation->prepareInformation(array('USER_UID' => $_SESSION['USER_LOGGED'], 'APP_UID' => $application, 'DEL_INDEX' => $_SESSION['INDEX'])); foreach ($aDeriv as $derivation) { $aUser = array('USR_UID' => $derivation['NEXT_TASK']['USER_ASSIGNED']['USR_UID'], 'USR_USERNAME' => $derivation['NEXT_TASK']['USER_ASSIGNED']['USR_USERNAME'], 'USR_FIRSTNAME' => $derivation['NEXT_TASK']['USER_ASSIGNED']['USR_FIRSTNAME'], 'USR_LASTNAME' => $derivation['NEXT_TASK']['USER_ASSIGNED']['USR_LASTNAME'], 'USR_EMAIL' => $derivation['NEXT_TASK']['USER_ASSIGNED']['USR_EMAIL']); $aUsers[] = $aUser; } $g->sessionVarRestore(); if (count($aUsers) == 1) { return $aUser; } else { return $aUsers; } } else { $g->sessionVarRestore(); return false; } }
/** * get the case summary data * * @param string $httpData->appUid * @param string $httpData->delIndex * @return array containg the case summary data */ function getSummary($httpData) { $labels = array(); $form = new Form('cases/cases_Resume', PATH_XMLFORM, SYS_LANG); G::LoadClass('case'); $case = new Cases(); foreach ($form->fields as $fieldName => $field) { $labels[$fieldName] = $field->label; } if (isset($_SESSION['_applicationFields']) && $_SESSION['_processData']) { $applicationFields = $_SESSION['_applicationFields']; unset($_SESSION['_applicationFields']); $processData = $_SESSION['_processData']; unset($_SESSION['_processData']); } else { if ($httpData->action == 'sent') { // Get the last valid delegation for participated list $criteria = new Criteria(); $criteria->addSelectColumn(AppDelegationPeer::DEL_INDEX); $criteria->add(AppDelegationPeer::APP_UID, $httpData->appUid); $criteria->add(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL); $criteria->addDescendingOrderByColumn(AppDelegationPeer::DEL_INDEX); if (AppDelegationPeer::doCount($criteria) > 0) { $dataset = AppDelegationPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $row = $dataset->getRow(); $httpData->delIndex = $row['DEL_INDEX']; } } $applicationFields = $case->loadCase($httpData->appUid, $httpData->delIndex); $process = new Process(); $processData = $process->load($applicationFields['PRO_UID']); } $data = array(); $task = new Task(); $taskData = $task->load($applicationFields['TAS_UID']); $currentUser = $applicationFields['CURRENT_USER'] != '' ? $applicationFields['CURRENT_USER'] : '******' . G::LoadTranslation('ID_UNASSIGNED') . ']'; $data[] = array('label' => $labels['PRO_TITLE'], 'value' => $processData['PRO_TITLE'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['TITLE'], 'value' => $applicationFields['TITLE'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['APP_NUMBER'], 'value' => $applicationFields['APP_NUMBER'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['STATUS'], 'value' => $applicationFields['STATUS'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['APP_UID'], 'value' => $applicationFields['APP_UID'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['CREATOR'], 'value' => $applicationFields['CREATOR'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['CREATE_DATE'], 'value' => $applicationFields['CREATE_DATE'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['UPDATE_DATE'], 'value' => $applicationFields['UPDATE_DATE'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['DESCRIPTION'], 'value' => $applicationFields['DESCRIPTION'], 'section' => $labels['TITLE1']); // note added by krlos pacha carlos[at]colosa[dot]com //getting this field if it doesn't exist. Related 7994 bug $taskData['TAS_TITLE'] = array_key_exists('TAS_TITLE', $taskData) ? $taskData['TAS_TITLE'] : Content::Load("TAS_TITLE", "", $applicationFields['TAS_UID'], SYS_LANG); $data[] = array('label' => $labels['TAS_TITLE'], 'value' => $taskData['TAS_TITLE'], 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['CURRENT_USER'], 'value' => $currentUser, 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['DEL_DELEGATE_DATE'], 'value' => $applicationFields['DEL_DELEGATE_DATE'], 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['DEL_INIT_DATE'], 'value' => $applicationFields['DEL_INIT_DATE'], 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['DEL_TASK_DUE_DATE'], 'value' => $applicationFields['DEL_TASK_DUE_DATE'], 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['DEL_FINISH_DATE'], 'value' => $applicationFields['DEL_FINISH_DATE'], 'section' => $labels['TITLE2']); //$data[] = array('label'=>$labels['DYN_UID'] , 'value' => $processData['PRO_DYNAFORMS']['PROCESS'];, 'section'=>$labels['DYN_UID']); return $data; }
/** * get the case summary data * @param string $httpData->appUid * @param string $httpData->delIndex * @return array containg the case summary data */ function getSummary($httpData) { $labels = array(); $form = new Form('cases/cases_Resume', PATH_XMLFORM, SYS_LANG); G::LoadClass('case'); $case = new Cases(); foreach ($form->fields as $fieldName => $field) { $labels[$fieldName] = $field->label; } if (isset($_SESSION['_applicationFields']) && $_SESSION['_processData']) { $applicationFields = $_SESSION['_applicationFields']; unset($_SESSION['_applicationFields']); $processData = $_SESSION['_processData']; unset($_SESSION['_processData']); } else { $applicationFields = $case->loadCase($httpData->appUid, $httpData->delIndex); $process = new Process(); $processData = $process->load($applicationFields['PRO_UID']); } $data = array(); $task = new Task(); $taskData = $task->load($applicationFields['TAS_UID']); $currentUser = $applicationFields['CURRENT_USER'] != '' ? $applicationFields['CURRENT_USER'] : '******' . G::LoadTranslation('ID_UNASSIGNED') . ']'; $data[] = array('label' => $labels['PRO_TITLE'], 'value' => $processData['PRO_TITLE'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['TITLE'], 'value' => $applicationFields['TITLE'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['APP_NUMBER'], 'value' => $applicationFields['APP_NUMBER'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['STATUS'], 'value' => $applicationFields['STATUS'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['APP_UID'], 'value' => $applicationFields['APP_UID'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['CREATOR'], 'value' => $applicationFields['CREATOR'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['CREATE_DATE'], 'value' => $applicationFields['CREATE_DATE'], 'section' => $labels['TITLE1']); $data[] = array('label' => $labels['UPDATE_DATE'], 'value' => $applicationFields['UPDATE_DATE'], 'section' => $labels['TITLE1']); // note added by krlos pacha carlos[at]colosa[dot]com //getting this field if it doesn't exist. Related 7994 bug $taskData['TAS_TITLE'] = array_key_exists('TAS_TITLE', $taskData) ? $taskData['TAS_TITLE'] : Content::Load("TAS_TITLE", "", $applicationFields['TAS_UID'], SYS_LANG); $data[] = array('label' => $labels['TAS_TITLE'], 'value' => $taskData['TAS_TITLE'], 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['CURRENT_USER'], 'value' => $currentUser, 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['DEL_DELEGATE_DATE'], 'value' => $applicationFields['DEL_DELEGATE_DATE'], 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['DEL_INIT_DATE'], 'value' => $applicationFields['DEL_INIT_DATE'], 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['DEL_TASK_DUE_DATE'], 'value' => $applicationFields['DEL_TASK_DUE_DATE'], 'section' => $labels['TITLE2']); $data[] = array('label' => $labels['DEL_FINISH_DATE'], 'value' => $applicationFields['DEL_FINISH_DATE'], 'section' => $labels['TITLE2']); //$data[] = array('label'=>$labels['DYN_UID'] , 'value' => $processData['PRO_DYNAFORMS']['PROCESS'];, 'section'=>$labels['DYN_UID']); return $data; }
/** * derivate Case moves the case to the next task in the process according to the routing rules * * @param string $userId * @param string $caseId * @param string $delIndex * @param array $tasks * @param bool $bExecuteTriggersBeforeAssignment * @return $result will return an object */ public function derivateCase ($userId, $caseId, $delIndex, $bExecuteTriggersBeforeAssignment = false, $tasks = array()) { $g = new G(); try { $g->sessionVarSave(); $_SESSION["APPLICATION"] = $caseId; $_SESSION["INDEX"] = $delIndex; $_SESSION["USER_LOGGED"] = $userId; $sStatus = 'TO_DO'; $varResponse = ''; $varTriggers = "\n"; if ($delIndex == '') { $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX ); $oCriteria->add( AppDelegationPeer::APP_UID, $caseId ); $oCriteria->add( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL ); if (AppDelegationPeer::doCount( $oCriteria ) > 1) { $result = new wsResponse( 20, G::loadTranslation( 'ID_SPECIFY_DELEGATION_INDEX' ) ); return $result; } $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); $delIndex = $aRow['DEL_INDEX']; } $oAppDel = new AppDelegation(); $appdel = $oAppDel->Load( $caseId, $delIndex ); if ($userId != $appdel['USR_UID']) { $result = new wsResponse( 17, G::loadTranslation( 'ID_CASE_ASSIGNED_ANOTHER_USER' ) ); return $result; } if ($appdel['DEL_FINISH_DATE'] != null) { $result = new wsResponse( 18, G::loadTranslation( 'ID_CASE_DELEGATION_ALREADY_CLOSED' ) ); return $result; } $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( AppDelayPeer::APP_UID ); $oCriteria->addSelectColumn( AppDelayPeer::APP_DEL_INDEX ); $oCriteria->add( AppDelayPeer::APP_TYPE, '' ); $oCriteria->add( $oCriteria->getNewCriterion( AppDelayPeer::APP_TYPE, 'PAUSE' )->addOr( $oCriteria->getNewCriterion( AppDelayPeer::APP_TYPE, 'CANCEL' ) ) ); $oCriteria->addAscendingOrderByColumn( AppDelayPeer::APP_ENABLE_ACTION_DATE ); $oDataset = AppDelayPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); if (is_array( $aRow )) { if (isset( $aRow['APP_DISABLE_ACTION_USER'] ) && $aRow['APP_DISABLE_ACTION_USER'] != 0 && isset( $aRow['APP_DISABLE_ACTION_DATE'] ) && $aRow['APP_DISABLE_ACTION_DATE'] != '') { $result = new wsResponse( 19, G::loadTranslation( 'ID_CASE_IN_STATUS' ) . " " . $aRow['APP_TYPE'] ); return $result; } } $aData = array(); $aData['APP_UID'] = $caseId; $aData['DEL_INDEX'] = $delIndex; $aData['USER_UID'] = $userId; //Load data $oCase = new Cases(); $appFields = $oCase->loadCase( $caseId, $delIndex ); if (is_null( $appFields["DEL_INIT_DATE"] )) { $oCase->setDelInitDate( $caseId, $delIndex ); $appFields = $oCase->loadCase( $caseId, $delIndex ); } $appFields["APP_DATA"]["APPLICATION"] = $caseId; if (! isset( $_SESSION["PROCESS"] )) { $_SESSION["PROCESS"] = $appFields["PRO_UID"]; } if ($bExecuteTriggersBeforeAssignment) { //Execute triggers before assignment $aTriggers = $oCase->loadTriggers( $appdel['TAS_UID'], 'ASSIGN_TASK', - 1, 'BEFORE' ); if (count( $aTriggers ) > 0) { $varTriggers = $varTriggers . "<br /><b>-= Before Assignment =-</b><br />"; $oPMScript = new PMScript(); foreach ($aTriggers as $aTrigger) { //$appFields = $oCase->loadCase( $caseId ); //$appFields['APP_DATA']['APPLICATION'] = $caseId; //Set variables $params = new stdClass(); $params->appData = $appFields["APP_DATA"]; if ($this->stored_system_variables) { $params->option = "STORED SESSION"; $params->SID = $this->wsSessionId; } $appFields["APP_DATA"] = array_merge( $appFields["APP_DATA"], G::getSystemConstants( $params ) ); //PMScript $oPMScript->setFields( $appFields['APP_DATA'] ); $bExecute = true; if ($aTrigger['ST_CONDITION'] !== '') { $oPMScript->setScript( $aTrigger['ST_CONDITION'] ); $bExecute = $oPMScript->evaluate(); } if ($bExecute) { $oPMScript->setScript( $aTrigger['TRI_WEBBOT'] ); $oPMScript->execute(); $trigger = TriggersPeer::retrieveByPk($aTrigger["TRI_UID"]); $varTriggers = $varTriggers . " - " . nl2br(htmlentities($trigger->getTriTitle(), ENT_QUOTES)) . "<br />"; //$appFields = $oCase->loadCase( $caseId ); $appFields['APP_DATA'] = $oPMScript->aFields; unset($appFields['APP_STATUS']); unset($appFields['APP_PROC_STATUS']); unset($appFields['APP_PROC_CODE']); unset($appFields['APP_PIN']); $oCase->updateCase( $caseId, $appFields ); } } } } //Execute triggers before derivation BEFORE_ROUTING $aTriggers = $oCase->loadTriggers( $appdel['TAS_UID'], 'ASSIGN_TASK', - 2, 'BEFORE' ); if (count( $aTriggers ) > 0) { $varTriggers .= "<b>-= Before Derivation =-</b><br/>"; $oPMScript = new PMScript(); foreach ($aTriggers as $aTrigger) { //$appFields = $oCase->loadCase( $caseId ); //$appFields['APP_DATA']['APPLICATION'] = $caseId; //Set variables $params = new stdClass(); $params->appData = $appFields["APP_DATA"]; if ($this->stored_system_variables) { $params->option = "STORED SESSION"; $params->SID = $this->wsSessionId; } $appFields["APP_DATA"] = array_merge( $appFields["APP_DATA"], G::getSystemConstants( $params ) ); //PMScript $oPMScript->setFields( $appFields['APP_DATA'] ); $bExecute = true; if ($aTrigger['ST_CONDITION'] !== '') { $oPMScript->setScript( $aTrigger['ST_CONDITION'] ); $bExecute = $oPMScript->evaluate(); } if ($bExecute) { $oPMScript->setScript( $aTrigger['TRI_WEBBOT'] ); $oPMScript->execute(); $oTrigger = TriggersPeer::retrieveByPk( $aTrigger['TRI_UID'] ); $varTriggers .= " - " . nl2br( htmlentities( $oTrigger->getTriTitle(), ENT_QUOTES ) ) . "<br/>"; //$appFields = $oCase->loadCase( $caseId ); $appFields['APP_DATA'] = $oPMScript->aFields; unset($appFields['APP_STATUS']); unset($appFields['APP_PROC_STATUS']); unset($appFields['APP_PROC_CODE']); unset($appFields['APP_PIN']); //$appFields['APP_DATA']['APPLICATION'] = $caseId; $oCase->updateCase( $caseId, $appFields ); } } } $oDerivation = new Derivation(); if (!empty($tasks)) { $nextDelegations = $tasks; } else { $derive = $oDerivation->prepareInformation($aData); if (isset($derive[1])) { if ($derive[1]['ROU_TYPE'] == 'SELECT') { $result = new wsResponse(21, G::loadTranslation('ID_CAN_NOT_ROUTE_CASE_USING_WEBSERVICES')); return $result; } } else { $result = new wsResponse(22, G::loadTranslation('ID_TASK_DOES_NOT_HAVE_ROUTING_RULE')); return $result; } foreach ($derive as $key => $val) { if ($val['NEXT_TASK']['TAS_ASSIGN_TYPE'] == 'MANUAL') { $result = new wsResponse(15, G::loadTranslation('ID_TASK_DEFINED_MANUAL_ASSIGNMENT')); return $result; } //Routed to the next task, if end process then not exist user $nodeNext = array(); $usrasgdUid = null; $usrasgdUserName = null; if (isset($val['NEXT_TASK']['USER_ASSIGNED'])) { $usrasgdUid = $val['NEXT_TASK']['USER_ASSIGNED']['USR_UID']; $usrasgdUserName = '******' . $val['NEXT_TASK']['USER_ASSIGNED']['USR_USERNAME'] . ')'; } $nodeNext['TAS_UID'] = $val['NEXT_TASK']['TAS_UID']; $nodeNext['USR_UID'] = $usrasgdUid; $nodeNext['TAS_ASSIGN_TYPE'] = $val['NEXT_TASK']['TAS_ASSIGN_TYPE']; $nodeNext['TAS_DEF_PROC_CODE'] = $val['NEXT_TASK']['TAS_DEF_PROC_CODE']; $nodeNext['DEL_PRIORITY'] = $appdel['DEL_PRIORITY']; $nodeNext['TAS_PARENT'] = $val['NEXT_TASK']['TAS_PARENT']; $nextDelegations[] = $nodeNext; $varResponse = $varResponse . (($varResponse != '') ? ',' : '') . $val['NEXT_TASK']['TAS_TITLE'] . $usrasgdUserName; } } $appFields['DEL_INDEX'] = $delIndex; if (isset( $derive['TAS_UID'] )) { $appFields['TAS_UID'] = $derive['TAS_UID']; } //Save data - Start //$appFields = $oCase->loadCase( $caseId ); //$oCase->updateCase ( $caseId, $appFields ); //Save data - End $row = array (); $oCriteria = new Criteria( 'workflow' ); $del = DBAdapter::getStringDelimiter(); $oCriteria->addSelectColumn( RoutePeer::ROU_TYPE ); $oCriteria->addSelectColumn( RoutePeer::ROU_NEXT_TASK ); $oCriteria->add( RoutePeer::TAS_UID, $appdel['TAS_UID'] ); $oDataset = TaskPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $row[] = array ('ROU_TYPE' => $aRow['ROU_TYPE'],'ROU_NEXT_TASK' => $aRow['ROU_NEXT_TASK'] ); $oDataset->next(); } //derivate case $aCurrentDerivation = array ('APP_UID' => $caseId,'DEL_INDEX' => $delIndex,'APP_STATUS' => $sStatus,'TAS_UID' => $appdel['TAS_UID'],'ROU_TYPE' => $row[0]['ROU_TYPE'] ); $oDerivation->derivate( $aCurrentDerivation, $nextDelegations ); $appFields = $oCase->loadCase( $caseId ); //Execute triggers after derivation $aTriggers = $oCase->loadTriggers( $appdel['TAS_UID'], 'ASSIGN_TASK', - 2, 'AFTER' ); if (count( $aTriggers ) > 0) { //$appFields['APP_DATA']['APPLICATION'] = $caseId; //Set variables $params = new stdClass(); $params->appData = $appFields["APP_DATA"]; if ($this->stored_system_variables) { $params->option = "STORED SESSION"; $params->SID = $this->wsSessionId; } $appFields["APP_DATA"] = array_merge( $appFields["APP_DATA"], G::getSystemConstants( $params ) ); //PMScript $oPMScript = new PMScript(); $oPMScript->setFields( $appFields['APP_DATA'] ); $varTriggers .= "<b>-= After Derivation =-</b><br/>"; foreach ($aTriggers as $aTrigger) { $bExecute = true; if ($aTrigger['ST_CONDITION'] !== '') { $oPMScript->setScript( $aTrigger['ST_CONDITION'] ); $bExecute = $oPMScript->evaluate(); } if ($bExecute) { $oPMScript->setScript( $aTrigger['TRI_WEBBOT'] ); $oPMScript->execute(); $oTrigger = TriggersPeer::retrieveByPk( $aTrigger['TRI_UID'] ); $varTriggers .= " - " . nl2br( htmlentities( $oTrigger->getTriTitle(), ENT_QUOTES ) ) . "<br/>"; //$appFields = $oCase->loadCase($caseId); $appFields['APP_DATA'] = $oPMScript->aFields; //$appFields['APP_DATA']['APPLICATION'] = $caseId; //$appFields = $oCase->loadCase($caseId); unset($aFields['APP_STATUS']); unset($aFields['APP_PROC_STATUS']); unset($aFields['APP_PROC_CODE']); unset($aFields['APP_PIN']); $oCase->updateCase( $caseId, $appFields ); } } } $sFromName = ""; if ($userId != "") { $user = new Users(); $arrayUserData = $user->load($userId); if (trim($arrayUserData["USR_EMAIL"]) == "") { $arrayUserData["USR_EMAIL"] = "info@" . $_SERVER["HTTP_HOST"]; } $sFromName = "\"" . $arrayUserData["USR_FIRSTNAME"] . " " . $arrayUserData["USR_LASTNAME"] . "\" <" . $arrayUserData["USR_EMAIL"] . ">"; } $oCase->sendNotifications( $appdel['TAS_UID'], $nextDelegations, $appFields['APP_DATA'], $caseId, $delIndex, $sFromName ); // Send notifications Mobile - Start try { $oLight = new \ProcessMaker\BusinessModel\Light(); $nextIndex = $oLight->getInformationDerivatedCase($appFields['APP_UID'], $delIndex); $notificationMobile = new \ProcessMaker\BusinessModel\Light\NotificationDevice(); $notificationMobile->routeCaseNotification($userId, $_SESSION["PROCESS"], $appdel['TAS_UID'], $appFields, $nextDelegations, $nextIndex); } catch (Exception $e) { \G::log(G::loadTranslation( 'ID_NOTIFICATION_ERROR' ) . '|' . $e->getMessage() , PATH_DATA, "mobile.log"); } // Send notifications Mobile - End //Save data - Start //$appFields = $oCase->loadCase($caseId); //$oCase->updateCase($caseId, $appFields); //Save data - End $oProcess = new Process(); $oProcessFieds = $oProcess->Load( $appFields['PRO_UID'] ); //here dubug mode in web entry if (isset( $oProcessFieds['PRO_DEBUG'] ) && $oProcessFieds['PRO_DEBUG']) { $result = new wsResponse( 0, $varResponse . " <br><br><table width='100%' cellpadding='0' cellspacing='0'><tr><td class='FormTitle'> " . G::LoadTranslation( 'ID_DEBUG_MESSAGE' ) . "</td></tr></table>" . $varTriggers ); } else { $result = new wsResponse( 0, $varResponse . " --- " . $oProcessFieds['PRO_DEBUG'] ); } $res = $result->getPayloadArray(); //now fill the array of AppDelegationPeer $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX ); $oCriteria->addSelectColumn( AppDelegationPeer::USR_UID ); $oCriteria->addSelectColumn( AppDelegationPeer::TAS_UID ); $oCriteria->addSelectColumn( AppDelegationPeer::DEL_THREAD ); $oCriteria->addSelectColumn( AppDelegationPeer::DEL_THREAD_STATUS ); $oCriteria->addSelectColumn( AppDelegationPeer::DEL_FINISH_DATE ); $oCriteria->add( AppDelegationPeer::APP_UID, $caseId ); $oCriteria->add( AppDelegationPeer::DEL_PREVIOUS, $delIndex ); $oCriteria->addAscendingOrderByColumn( AppDelegationPeer::DEL_INDEX ); $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $aCurrentUsers = array (); while ($oDataset->next()) { $aAppDel = $oDataset->getRow(); $oUser = new Users(); try { $oUser->load( $aAppDel['USR_UID'] ); $uFields = $oUser->toArray( BasePeer::TYPE_FIELDNAME ); $currentUserName = $oUser->getUsrFirstname() . ' ' . $oUser->getUsrLastname(); } catch (Exception $e) { $currentUserName = ''; } $oTask = new Task(); try { $uFields = $oTask->load( $aAppDel['TAS_UID'] ); $taskName = $uFields['TAS_TITLE']; } catch (Exception $e) { $taskName = ''; } // execute events $eventPro = $_SESSION["PROCESS"]; $eventApp = $caseId; $eventInd = $aAppDel['DEL_INDEX']; $eventTas = $aAppDel['TAS_UID']; $oEvent = new Event(); $oEvent->createAppEvents( $eventPro, $eventApp, $eventInd, $eventTas ); // end events $currentUser = new stdClass(); $currentUser->userId = $aAppDel['USR_UID']; $currentUser->userName = $currentUserName; $currentUser->taskId = $aAppDel['TAS_UID']; $currentUser->taskName = $taskName; $currentUser->delIndex = $aAppDel['DEL_INDEX']; $currentUser->delThread = $aAppDel['DEL_THREAD']; $currentUser->delThreadStatus = $aAppDel['DEL_THREAD_STATUS']; $aCurrentUsers[] = $currentUser; } $res['routing'] = $aCurrentUsers; $g->sessionVarRestore(); return $res; } catch (Exception $e) { $result = new wsResponse( 100, $e->getMessage() ); $g->sessionVarRestore(); return $result; } }
function LoadTask($data, $fields) { try { $task = new Task(); $result = $task->load($fields['TAS_UID']); return $result; } catch (Exception $e) { return array('Exception!! ' => $e->getMessage()); } }
<?php require_once 'inc/init.php'; $task_id = $_POST['task-status-id']; $date = strtotime($_POST['task-status']); $task = new Task(); $task->load('id = ?', [$task_id]); $task->status = $_POST['task-status']; if ($task->save()) { Response::write('message', 'Task status updated'); } else { Response::write('status', false); Response::write('message', 'Task status failed to update.'); } Response::output();
public function getExtusersadhoc($start, $limit, $sProcessUID = '', $sTaskUID = '') { try { $oProcess = new Process(); $aFields = $oProcess->load($sProcessUID); $oTask = new Task(); $aFields = $oTask->load($sTaskUID); $_SESSION['iType'] = 2; $aFields['TASK'] = $sTaskUID; $aFields['TYPE'] = $_SESSION['iType']; $aFields['OF_TO_ASSIGN'] = G::LoadTranslation('ID_DE_ASSIGN'); $aFields['CONFIRM'] = G::LoadTranslation('ID_MSG_CONFIRM_DEASIGN_USER_GROUP_MESSAGE'); $aFields['UIDS'] = "'0'"; $oTasks = new Tasks(); $oGroups = new Groups(); $aAux1 = $oTasks->getGroupsOfTask($sTaskUID, $_SESSION['iType']); foreach ($aAux1 as $aGroup) { $aAux2 = $oGroups->getUsersOfGroup($aGroup['GRP_UID']); foreach ($aAux2 as $aUser) { $aFields['UIDS'] .= ",'" . $aUser['USR_UID'] . "'"; } } global $G_PUBLISH; $G_PUBLISH = new Publisher(); $oTask = new Task(); $aTask = $oTask->load($sTaskUID); //$assignedUsers = getExtTaskUsersCriteria($sTaskUID, $_SESSION ['iType']); $this->getExtTaskUsersAdHocCriteria($start, $limit, $sTaskUID, $_SESSION['iType']); return $_SESSION['_DBArray']['taskUsers']; } catch (Exception $oError) { throw $oError; } }
public function getStartEndDate($_project_id = '', $_task_id = '') { if (!empty($this->_data['project_id'])) { $_project_id = $this->_data['project_id']; } if (!empty($this->_data['task_id'])) { $_task_id = $this->_data['task_id']; } $obj = ''; if (!empty($_task_id)) { $obj = new Task(); $obj->load($_task_id); } elseif (!empty($_project_id)) { $obj = new Project(); $obj->load($_project_id); } if ($obj instanceof DataObject && $obj->isLoaded()) { $start_date = un_fix_date($obj->start_date); $end_date = un_fix_date($obj->end_date); } else { $start_date = $end_date = date(DATE_FORMAT); } $output['start_date'] = array('data' => $start_date, 'is_array' => is_array($start_date)); $output['end_date'] = array('data' => $end_date, 'is_array' => is_array($end_date)); if (isset($this->_data['ajax'])) { $this->view->set('data', $output); $this->setTemplateName('ajax_multiple'); } else { return $output; } }
<?php try { require_once 'classes/model/Task.php'; $oTask = new Task(); $rows = $oTask->load($_GET['tid']); while (list($key, $value) = each($rows)) { if ($value == 'TRUE') { $rows[$key] = true; } else { if ($value == 'FALSE') { $rows[$key] = false; } } if ($key == 'TAS_TYPE_DAY' && $value == '1') { $rows[$key] = 'Work Days'; } else { if ($key == 'TAS_TYPE_DAY' && $value == '2') { $rows[$key] = 'Calendar Days'; } } if ($key == 'TAS_ASSIGN_TYPE') { switch ($value) { case 'SELF_SERVICE': $rows[$value] = 'true'; break; case 'REPORT_TO': $rows[$value] = 'true'; break; case 'BALANCED': $rows[$value] = 'true';
//require_once 'classes/model/AppDocument.php'; //require_once 'classes/model/AppDelegation.php'; $oAppDocument = new AppDocument(); $aFields = $oAppDocument->load($_POST['APP_DOC_UID']); require_once 'classes/model/OutputDocument.php'; $oOutputDocument = new OutputDocument(); $aOD = $oOutputDocument->load($aFields['DOC_UID']); $oCriteria = new Criteria('workflow'); $oCriteria->add(AppDelegationPeer::APP_UID, $aFields['APP_UID']); $oCriteria->add(AppDelegationPeer::DEL_INDEX, $aFields['DEL_INDEX']); $oDataset = AppDelegationPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); $oTask = new Task(); $aTask = $oTask->load($aRow['TAS_UID']); $aFields['ORIGIN'] = $aTask['TAS_TITLE']; require_once 'classes/model/Users.php'; $oUser = new Users(); $aUser = $oUser->load($aFields['USR_UID']); $aFields['CREATOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; $aFields['VIEW'] = G::LoadTranslation('ID_OPEN'); $aFields['FILE1'] = 'cases_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=doc&random=' . rand(); $aFields['FILE2'] = 'cases_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=pdf&random=' . rand(); $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_ViewAnyOutputDocument', '', G::array_merges($aOD, $aFields), ''); G::RenderPage('publish', 'raw'); break; case 'showDynaformList': $oCase = new Cases(); global $G_PUBLISH;
public function getUsersToReassign() { if (!isset($_SESSION['USER_LOGGED'])) { $response = new stdclass(); $response->message = G::LoadTranslation('ID_LOGIN_AGAIN'); $response->lostSession = true; print G::json_encode($response); die; } G::LoadClass('tasks'); $task = new Task(); $tasks = $task->load($_SESSION['TASK']); $case = new Cases(); $result->data = $case->getUsersToReassign($_SESSION['TASK'], $_SESSION['USER_LOGGED'], $tasks['PRO_UID']); print G::json_encode($result); }
<?php require_once "../../global.php"; require_once TEMPLATE_PATH . '/site/helper/format.php'; // check project $slug = Filter::text($_GET['slug']); $project = Project::getProjectFromSlug($slug); if ($project == null) { $json = array('error' => 'That project does not exist.'); exit(json_encode($json)); } // validate task $taskID = Filter::numeric($_GET['t']); $task = Task::load($taskID); if ($task == null) { $json = array('error' => 'That task does not exist.'); exit(json_encode($json)); } // // validate username // $username = Filter::text($_GET['u']); // $user = User::loadByUsername($username); // // check if user has accepted task // $accepted = Accepted::getByUserID($user->getID(), $task->getID()); // if($accepted == null) { // $json = array('error' => 'That user has not accepted this task.'); // exit(json_encode($json)); // } // move onto POST variables $action = Filter::text($_POST['action']); if ($action == 'create') { // get update content
public function getAllGeneratedDocumentsCriteriaTracker($sProcessUID, $sApplicationUID, $sDocUID) { $oAppDocument = new AppDocument(); $oCriteria = new Criteria('workflow'); $oCriteria->add(AppDocumentPeer::APP_UID, $sApplicationUID); $oCriteria->add(AppDocumentPeer::APP_DOC_TYPE, 'OUTPUT'); $oCriteria->add(AppDocumentPeer::APP_DOC_STATUS, array('ACTIVE'), Criteria::IN); $oCriteria->add(AppDocumentPeer::DOC_UID, $sDocUID); $aConditions = array(); $aConditions[] = array(AppDocumentPeer::APP_UID, AppDelegationPeer::APP_UID); $aConditions[] = array(AppDocumentPeer::DEL_INDEX, AppDelegationPeer::DEL_INDEX); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(AppDelegationPeer::PRO_UID, $sProcessUID); $oCriteria->addAscendingOrderByColumn(AppDocumentPeer::APP_DOC_INDEX); $oDataset = AppDocumentPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aOutputDocuments = array(); $aOutputDocuments[] = array( 'APP_DOC_UID' => 'char', 'DOC_UID' => 'char', 'APP_DOC_COMMENT' => 'char', 'APP_DOC_FILENAME' => 'char', 'APP_DOC_INDEX' => 'integer' ); while ($aRow = $oDataset->getRow()) { $oCriteria2 = new Criteria('workflow'); $oCriteria2->add(AppDelegationPeer::APP_UID, $sApplicationUID); $oCriteria2->add(AppDelegationPeer::DEL_INDEX, $aRow['DEL_INDEX']); $oDataset2 = AppDelegationPeer::doSelectRS($oCriteria2); $oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset2->next(); $aRow2 = $oDataset2->getRow(); $oTask = new Task(); if ($oTask->taskExists($aRow2['TAS_UID'])) { $aTask = $oTask->load($aRow2['TAS_UID']); } else { $aTask = array('TAS_TITLE' => '(TASK DELETED)'); } $aAux = $oAppDocument->load($aRow['APP_DOC_UID'], $aRow['DOC_VERSION']); $aFields = array( 'APP_DOC_UID' => $aAux['APP_DOC_UID'], 'DOC_UID' => $aAux['DOC_UID'], 'APP_DOC_COMMENT' => $aAux['APP_DOC_COMMENT'], 'APP_DOC_FILENAME' => $aAux['APP_DOC_FILENAME'], 'APP_DOC_INDEX' => $aAux['APP_DOC_INDEX'], 'ORIGIN' => $aTask['TAS_TITLE'] ); if ($aFields['APP_DOC_FILENAME'] != '') { $aFields['TITLE'] = $aFields['APP_DOC_FILENAME']; } else { $aFields['TITLE'] = $aFields['APP_DOC_COMMENT']; } //$aFields['POSITION'] = $_SESSION['STEP_POSITION']; $aFields['CONFIRM'] = G::LoadTranslation('ID_CONFIRM_DELETE_ELEMENT'); $aOutputDocuments[] = $aFields; $oDataset->next(); } global $_DBArray; $_DBArray['outputDocuments'] = $aOutputDocuments; $_SESSION['_DBArray'] = $_DBArray; G::LoadClass('ArrayPeer'); $oCriteria = new Criteria('dbarray'); $oCriteria->setDBArrayTable('outputDocuments'); $oCriteria->addAscendingOrderByColumn(AppDocumentPeer::APP_DOC_CREATE_DATE); return $oCriteria; }