break; case 3: $sType = 'PARALLEL'; break; case 4: $sType = 'PARALLEL-BY-EVALUATION'; break; case 5: $sType = 'SEC-JOIN'; break; case 8: $sType = 'DISCRIMINATOR'; break; } if ($oData->type != 0 && $oData->type != 5 && $oData->type != 8) { if ($oProcessMap->getNumberOfRoutes($oData->pro_uid, $oData->tas_uid, $oData->next_task, $sType) > 0) { die; } unset($aRow); } if ($oData->delete || $oData->type == 0 || $oData->type == 5 || $oData->type == 8) { G::LoadClass('tasks'); $oTasks = new Tasks(); $oTasks->deleteAllRoutesOfTask($oData->pro_uid, $oData->tas_uid); $oTasks->deleteAllGatewayOfTask($oData->pro_uid, $oData->tas_uid); } $oProcessMap->saveNewPattern($oData->pro_uid, $oData->tas_uid, $oData->next_task, $sType, $oData->delete); break; case 'deleteAllRoutes': G::LoadClass('tasks'); $oTasks = new Tasks();
/** * Create Route * * @param string $processUid * @param string $taskUid * @param string $nextTaskUid * @param string $type * @param bool $delete * * return string Return UID of new Route * * @access public */ public function defineRoute($processUid, $taskUid, $nextTaskUid, $type, $delete = false) { //Copy of processmaker/workflow/engine/methods/processes/processes_Ajax.php //case 'saveNewPattern': $processMap = new \processMap(); if ($type != "SEQUENTIAL" && $type != "SEC-JOIN" && $type != "DISCRIMINATOR") { if ($processMap->getNumberOfRoutes($processUid, $taskUid, $nextTaskUid, $type) > 0) { //die(); throw (new \Exception()); } //unset($aRow); } if ($delete || $type == "SEQUENTIAL" || $type == "SEC-JOIN" || $type == "DISCRIMINATOR") { //\G::LoadClass("tasks"); $tasks = new \Tasks(); $tasks->deleteAllRoutesOfTask($processUid, $taskUid); $tasks->deleteAllGatewayOfTask($processUid, $taskUid); } return $processMap->saveNewPattern($processUid, $taskUid, $nextTaskUid, $type, $delete); }