HOR-2308
Classic>3.1.3>assignment rules>Selection> The task doesn't have any users.
This commit is contained in:
@@ -2455,7 +2455,7 @@ class wsBase
|
|||||||
$aCurrentDerivation = array ('APP_UID' => $caseId,'DEL_INDEX' => $delIndex,'APP_STATUS' => $sStatus,'TAS_UID' => $appdel['TAS_UID'],'ROU_TYPE' => $row[0]['ROU_TYPE']
|
$aCurrentDerivation = array ('APP_UID' => $caseId,'DEL_INDEX' => $delIndex,'APP_STATUS' => $sStatus,'TAS_UID' => $appdel['TAS_UID'],'ROU_TYPE' => $row[0]['ROU_TYPE']
|
||||||
);
|
);
|
||||||
$oRoute = new \ProcessMaker\Core\RoutingScreen();
|
$oRoute = new \ProcessMaker\Core\RoutingScreen();
|
||||||
$nextTasks = $oRoute->mergeDataDerivation($nextDelegations, $oDerivation->prepareInformation($aData));
|
$nextTasks = $oRoute->mergeDataDerivation($nextDelegations, $oDerivation->prepareInformation($aData), $row[0]['ROU_TYPE']);
|
||||||
$oDerivation->derivate( $aCurrentDerivation, $nextTasks );
|
$oDerivation->derivate( $aCurrentDerivation, $nextTasks );
|
||||||
$appFields = $oCase->loadCase( $caseId );
|
$appFields = $oCase->loadCase( $caseId );
|
||||||
|
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ try {
|
|||||||
$aPInformation = $oDerivation->prepareInformation( array ('USER_UID' => $_SESSION['USER_LOGGED'],'APP_UID' => $_SESSION['APPLICATION'],'DEL_INDEX' => $_SESSION['INDEX'])
|
$aPInformation = $oDerivation->prepareInformation( array ('USER_UID' => $_SESSION['USER_LOGGED'],'APP_UID' => $_SESSION['APPLICATION'],'DEL_INDEX' => $_SESSION['INDEX'])
|
||||||
);
|
);
|
||||||
$oRoute = new \ProcessMaker\Core\RoutingScreen();
|
$oRoute = new \ProcessMaker\Core\RoutingScreen();
|
||||||
$nextTasks = $oRoute->mergeDataDerivation($_POST['form']['TASKS'], $aPInformation);
|
$nextTasks = $oRoute->mergeDataDerivation($_POST['form']['TASKS'], $aPInformation, $_POST['form']['ROU_TYPE']);
|
||||||
$arrayDerivationResult = $oDerivation->derivate($aCurrentDerivation, $nextTasks);
|
$arrayDerivationResult = $oDerivation->derivate($aCurrentDerivation, $nextTasks);
|
||||||
|
|
||||||
if (!empty($arrayDerivationResult)) {
|
if (!empty($arrayDerivationResult)) {
|
||||||
|
|||||||
@@ -17,8 +17,38 @@ class RoutingScreen extends \Derivation
|
|||||||
$this->setRegexpTaskTypeToInclude("GATEWAYTOGATEWAY|END-MESSAGE-EVENT|END-EMAIL-EVENT|INTERMEDIATE-CATCH-TIMER-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT");
|
$this->setRegexpTaskTypeToInclude("GATEWAYTOGATEWAY|END-MESSAGE-EVENT|END-EMAIL-EVENT|INTERMEDIATE-CATCH-TIMER-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT");
|
||||||
}
|
}
|
||||||
|
|
||||||
public function mergeDataDerivation($post, $prepareInformation)
|
/**
|
||||||
|
* This fix only applies to classical processes when routype is SELECT
|
||||||
|
* @param $post
|
||||||
|
* @param $prepareInformation - The first index always starts at 1
|
||||||
|
* @param $rouType
|
||||||
|
* @return mixed - An array is returned whit first index 1
|
||||||
|
*/
|
||||||
|
private function beforeMergeData($post, $prepareInformation, $rouType)
|
||||||
{
|
{
|
||||||
|
if ($rouType == 'SELECT') {
|
||||||
|
$post = array_shift($post);
|
||||||
|
foreach ($prepareInformation as $key => $nextTask) {
|
||||||
|
if ($nextTask['ROU_CONDITION'] == $post['ROU_CONDITION'] &&
|
||||||
|
$post['SOURCE_UID'] == $nextTask['SOURCE_UID']
|
||||||
|
) {
|
||||||
|
$prepareInformationData[1] = $nextTask;
|
||||||
|
return $prepareInformationData;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $prepareInformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $post
|
||||||
|
* @param $prepareInformation
|
||||||
|
* @param $rouType
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function mergeDataDerivation($post, $prepareInformation, $rouType)
|
||||||
|
{
|
||||||
|
$prepareInformation = $this->beforeMergeData($post, $prepareInformation, $rouType);
|
||||||
$aDataMerged = array();
|
$aDataMerged = array();
|
||||||
$flagJumpTask = false;
|
$flagJumpTask = false;
|
||||||
foreach ($prepareInformation as $key => $nextTask) {
|
foreach ($prepareInformation as $key => $nextTask) {
|
||||||
|
|||||||
Reference in New Issue
Block a user