Merged in bugfix/HOR-2810 (pull request #5487)
HOR-2810 Approved-by: Julio Cesar Laura Avendaño Approved-by: Paula Quispe
This commit is contained in:
@@ -111,7 +111,6 @@ class AppDelay extends BaseAppDelay
|
|||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -90,6 +90,10 @@ foreach ($_GET as $k => $v) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( isset($_GET['action']) && ($_GET['action'] == 'jump') ) {
|
if( isset($_GET['action']) && ($_GET['action'] == 'jump') ) {
|
||||||
|
$oNewCase = new \ProcessMaker\BusinessModel\Cases();
|
||||||
|
//We need to get the last index OPEN or CLOSED (by Paused cases)
|
||||||
|
//Set true because we need to check if the case is paused
|
||||||
|
$delIndex = $oNewCase->getOneLastThread($appUid, true);
|
||||||
$case = $oCase->loadCase( $appUid, $delIndex, $_GET['action']);
|
$case = $oCase->loadCase( $appUid, $delIndex, $_GET['action']);
|
||||||
} else {
|
} else {
|
||||||
$case = $oCase->loadCase( $appUid, $delIndex );
|
$case = $oCase->loadCase( $appUid, $delIndex );
|
||||||
|
|||||||
@@ -3338,4 +3338,37 @@ class Cases
|
|||||||
$row = $dataSet->getRow();
|
$row = $dataSet->getRow();
|
||||||
return isset($row['DEL_INDEX']) ? $row['DEL_INDEX'] : 0;
|
return isset($row['DEL_INDEX']) ? $row['DEL_INDEX'] : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get last index, we can considering the pause thread
|
||||||
|
*
|
||||||
|
* This function return the last index thread and will be considered the paused cases
|
||||||
|
* Is created by Jump to and redirect the correct thread
|
||||||
|
* by default is not considered the paused thread
|
||||||
|
* in parallel cases return the first thread to find
|
||||||
|
* @param string $appUid
|
||||||
|
* @param boolean $checkCaseIsPaused
|
||||||
|
* @return integer delIndex
|
||||||
|
*/
|
||||||
|
public function getOneLastThread($appUid, $checkCaseIsPaused = false)
|
||||||
|
{
|
||||||
|
$criteria = new \Criteria('workflow');
|
||||||
|
$criteria->addSelectColumn(\AppDelegationPeer::DEL_INDEX);
|
||||||
|
$criteria->addSelectColumn(\AppDelegationPeer::DEL_THREAD_STATUS);
|
||||||
|
$criteria->add(\AppDelegationPeer::APP_UID, $appUid, \Criteria::EQUAL);
|
||||||
|
$dataSet = \AppDelegationPeer::doSelectRS($criteria);
|
||||||
|
$dataSet->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$dataSet->next();
|
||||||
|
$row = $dataSet->getRow();
|
||||||
|
$delIndex = 0;
|
||||||
|
while (is_array($row)) {
|
||||||
|
$delIndex = $row['DEL_INDEX'];
|
||||||
|
if ($checkCaseIsPaused && \AppDelay::isPaused($appUid, $delIndex)) {
|
||||||
|
return $delIndex;
|
||||||
|
}
|
||||||
|
$dataSet->next();
|
||||||
|
$row = $dataSet->getRow();
|
||||||
|
}
|
||||||
|
return $delIndex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user