diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 17d63d489..47ca65b3a 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -559,10 +559,11 @@ class Cases foreach ($aCases as $key => $value) { $oCurUser->load($value['USR_UID']); $aFields['CURRENT_USER'][]= $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname(); - $aFields['TAS_UID'].= $value['TAS_UID'].'-'; + $aFields['TAS_UID'] .= (($aFields['TAS_UID'] != '')? '|' : '') . $value['TAS_UID']; } $aFields['CURRENT_USER'] = implode(" - ", array_values($aFields['CURRENT_USER'])); - $tasksArray = array_filter(explode("-",$aFields['TAS_UID'])); + $tasksArray = array_filter(explode('|', $aFields['TAS_UID'])); + if(count($tasksArray) == 1) { $aFields['TAS_UID'] = $tasksArray[0]; } diff --git a/workflow/engine/methods/cases/ajaxListener.php b/workflow/engine/methods/cases/ajaxListener.php index cd818a2cf..29a0e0444 100755 --- a/workflow/engine/methods/cases/ajaxListener.php +++ b/workflow/engine/methods/cases/ajaxListener.php @@ -225,16 +225,18 @@ class Ajax if ($_SESSION["TASK"] != "" && $_SESSION["TASK"] != "-1") { $oTask = new Task(); - $tasksInParallel = explode("-", $_SESSION['TASK']); + $tasksInParallel = explode('|', $_SESSION['TASK']); $tasksInParallel = array_filter($tasksInParallel, function($value) { return !empty($value); }); $nTasksInParallel = count($tasksInParallel); + if ($nTasksInParallel > 1) { $aTask = $oTask->load($tasksInParallel[$nTasksInParallel - 1]); } else { $aTask = $oTask->load($_SESSION['TASK']); } + if ($aTask['TAS_TYPE'] == 'ADHOC') { $options[] = Array('text' => G::LoadTranslation('ID_ADHOC_ASSIGNMENT'), 'fn' => 'adhocAssignmentUsers'); } @@ -1034,4 +1036,3 @@ $action = $_REQUEST['action']; unset($_REQUEST['action']); $ajax->$action($_REQUEST); - diff --git a/workflow/engine/methods/cases/cases_Resume.php b/workflow/engine/methods/cases/cases_Resume.php index 19c5ea382..b38f7c178 100755 --- a/workflow/engine/methods/cases/cases_Resume.php +++ b/workflow/engine/methods/cases/cases_Resume.php @@ -114,22 +114,23 @@ $objProc = new Process(); $aProc = $objProc->load( $Fields['PRO_UID'] ); $Fields['PRO_TITLE'] = $aProc['PRO_TITLE']; - - $objTask = new Task(); if(!isset($Fields['TAS_UID']) || $Fields['TAS_UID'] == '') { $Fields['TAS_UID'] = $Fields['APP_DATA']['TASK']; } -$tasksInParallel = explode("-", $Fields['TAS_UID']); + +$tasksInParallel = explode('|', $Fields['TAS_UID']); $tasksInParallel = array_filter($tasksInParallel, function($value) { return !empty($value); }); $nTasksInParallel = count($tasksInParallel); + if ($nTasksInParallel > 1) { $aTask = $objTask->load($tasksInParallel[$nTasksInParallel - 1]); } else { $aTask = $objTask->load($Fields['TAS_UID']); } + $Fields['TAS_TITLE'] = $aTask['TAS_TITLE']; $objUser = new Users(); @@ -153,7 +154,7 @@ if($Fields['APP_STATUS'] != 'COMPLETED'){ $FieldsPar['USR_UID'] = $row['USR_UID']; if(isset($row['USR_UID']) && !empty($row['USR_UID'])) { $aUser = $objUser->loadDetails ($row['USR_UID']); - $FieldsPar['CURRENT_USER'] = $aUser['USR_FULLNAME']; + $FieldsPar['CURRENT_USER'] = $aUser['USR_FULLNAME']; } $FieldsPar['DEL_DELEGATE_DATE'] = $row['DEL_DELEGATE_DATE']; $FieldsPar['DEL_INIT_DATE'] = $row['DEL_INIT_DATE']; @@ -162,7 +163,7 @@ if($Fields['APP_STATUS'] != 'COMPLETED'){ $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task.xml', '', $FieldsPar, '' ); } } - -} -G::RenderPage( 'publish', 'blank' ); +} + +G::RenderPage('publish', 'blank'); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php index 1d5bea619..9ba04b445 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php @@ -863,12 +863,14 @@ class Light $objTask = new \Task(); if (isset($_SESSION['ACTION']) && ($_SESSION['ACTION'] == 'jump')) { - $task = explode('-', $Fields['TAS_UID']); + $task = explode('|', $Fields['TAS_UID']); $Fields['TAS_TITLE'] = ''; + for( $i = 0; $i < sizeof($task)-1; $i ++ ) { $aTask = $objTask->load( $task[$i] ); $Fields['TAS_TITLE'][] = $aTask['TAS_TITLE']; } + $Fields['TAS_TITLE'] = implode(" - ", array_values($Fields['TAS_TITLE'])); } else { $aTask = $objTask->load( $Fields['TAS_UID'] );