BUG-14390 Process Supervisor - Review
In Review section a case in a parallel task the Current User will be the same on both tasks
This commit is contained in:
@@ -200,6 +200,7 @@ class Applications
|
||||
$CriteriaCount->addJoinMC($arrayCondition, Criteria::LEFT_JOIN);
|
||||
|
||||
//Previous user
|
||||
|
||||
if (($action == "todo" || $action == "selfservice" || $action == "unassigned" || $action == "paused" || $action == "to_revise" || $action == "sent") || ($status == "TO_DO" || $status == "DRAFT" || $status == "PAUSED" || $status == "CANCELLED" || $status == "COMPLETED")) {
|
||||
$Criteria->addAlias( 'PU', 'USERS' );
|
||||
$Criteria->addJoin( AppCacheViewPeer::PREVIOUS_USR_UID, 'PU.USR_UID', Criteria::LEFT_JOIN );
|
||||
@@ -407,7 +408,7 @@ class Applications
|
||||
//Check also $distinct in the method getListCounters(), this in AppCacheView.php
|
||||
$distinct = true;
|
||||
|
||||
if (($action == "todo" || $action == "selfservice" || $action == "unassigned" || $action == "to_reassign") || ($status == "TO_DO")) {
|
||||
if (($action == "todo" || $action == "selfservice" || $action == "unassigned" || $action == "to_reassign" || $action == "to_revise") || ($status == "TO_DO")) {
|
||||
$distinct = false;
|
||||
}
|
||||
|
||||
@@ -429,7 +430,6 @@ class Applications
|
||||
require_once (PATH_DB . SYS_SYS . PATH_SEP . "classes" . PATH_SEP . $tableName . ".php");
|
||||
}
|
||||
}
|
||||
|
||||
$totalCount = AppCacheViewPeer::doCount($CriteriaCount, $distinct);
|
||||
}
|
||||
|
||||
@@ -528,13 +528,14 @@ class Applications
|
||||
$maxDataset->close();
|
||||
}*/
|
||||
|
||||
//Current delegation (*)
|
||||
if (($action == "sent" || $action == "search" || $action == "simple_search" || $action == "to_revise" || $action == "to_reassign") && ($status != "TO_DO")) {
|
||||
//Current delegation (*) || $action == "search" || $action == "to_revise"
|
||||
if (($action == "sent" || $action == "simple_search" || $action == "to_reassign") && ($status != "TO_DO")) {
|
||||
//Current task
|
||||
$aRow["APP_TAS_TITLE"] = $aRow["APPCVCR_APP_TAS_TITLE"];
|
||||
|
||||
//Current user
|
||||
if ($action != "to_reassign" ) {
|
||||
//if ($action != "to_reassign" ) {
|
||||
if (($action != "to_reassign") && ($action != "search") && ($action != "to revise")) {
|
||||
$aRow["USR_UID"] = $aRow["USRCR_USR_UID"];
|
||||
$aRow["USR_FIRSTNAME"] = $aRow["USRCR_USR_FIRSTNAME"];
|
||||
$aRow["USR_LASTNAME"] = $aRow["USRCR_USR_LASTNAME"];
|
||||
|
||||
@@ -507,7 +507,7 @@ class Cases
|
||||
* @return Fields
|
||||
*/
|
||||
|
||||
public function loadCase($sAppUid, $iDelIndex = 0)
|
||||
public function loadCase($sAppUid, $iDelIndex = 0, $jump = '')
|
||||
{
|
||||
try {
|
||||
$oApp = new Application;
|
||||
@@ -575,9 +575,25 @@ class Cases
|
||||
$aFields['DEL_FINISH_DATE'] = $aAppDel['DEL_FINISH_DATE'];
|
||||
$aFields['CURRENT_USER_UID'] = $aAppDel['USR_UID'];
|
||||
try {
|
||||
//$oCurUser = new Users();
|
||||
//$oCurUser->load($aAppDel['USR_UID']);
|
||||
//$aFields['CURRENT_USER'] = $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
|
||||
$oCurUser = new Users();
|
||||
if ($jump != '') {
|
||||
$aCases = $oAppDel->LoadParallel($sAppUid);
|
||||
$aFields['TAS_UID'] = '';
|
||||
$aFields['CURRENT_USER'] = '';
|
||||
foreach ($aCases as $key => $value) {
|
||||
$oCurUser->load($value['USR_UID']);
|
||||
$aFields['CURRENT_USER'][]= $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
|
||||
$aFields['TAS_UID'].= $value['TAS_UID'].'-';
|
||||
}
|
||||
$aFields['CURRENT_USER'] = implode(" - ", array_values($aFields['CURRENT_USER']));
|
||||
} else {
|
||||
$oCurUser->load($aAppDel['USR_UID']);
|
||||
$aFields['CURRENT_USER'] = $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
|
||||
}
|
||||
|
||||
} catch (Exception $oError) {
|
||||
$aFields['CURRENT_USER'] = '';
|
||||
}
|
||||
|
||||
@@ -203,6 +203,41 @@ class AppDelegation extends BaseAppDelegation
|
||||
}
|
||||
}
|
||||
|
||||
/* Load the Application Delegation row specified in [app_id] column value.
|
||||
*
|
||||
* @param string $AppUid the uid of the application
|
||||
* @return array $Fields the fields
|
||||
*/
|
||||
|
||||
public function LoadParallel ($AppUid)
|
||||
{
|
||||
$c = new Criteria( 'workflow' );
|
||||
$c->addSelectColumn( AppDelegationPeer::APP_UID );
|
||||
$c->addSelectColumn( AppDelegationPeer::DEL_INDEX );
|
||||
$c->addSelectColumn( AppDelegationPeer::PRO_UID );
|
||||
$c->addSelectColumn( AppDelegationPeer::TAS_UID );
|
||||
$c->addSelectColumn( AppDelegationPeer::USR_UID );
|
||||
|
||||
$c->add( AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN' );
|
||||
$c->add( AppDelegationPeer::APP_UID, $AppUid );
|
||||
$c->addDescendingOrderByColumn( AppDelegationPeer::DEL_INDEX );
|
||||
$rs = AppDelegationPeer::doSelectRS( $c );
|
||||
$row= $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
|
||||
$rs->next();
|
||||
$row = $rs->getRow();
|
||||
|
||||
while (is_array($row)) {
|
||||
$case['TAS_UID'] = $row['TAS_UID'];
|
||||
$case['USR_UID'] = $row['USR_UID'];
|
||||
$aCases[] = $case;
|
||||
$rs->next();
|
||||
$row = $rs->getRow();
|
||||
}
|
||||
|
||||
return $aCases;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the application row
|
||||
*
|
||||
|
||||
@@ -188,7 +188,14 @@ try {
|
||||
$_SESSION['INDEX'] = $row['DEL_INDEX'];
|
||||
$_SESSION['PROCESS'] = $aFields['PRO_UID'];
|
||||
$_SESSION['TASK'] = - 1;
|
||||
//$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
|
||||
if ($_action == 'jump') {
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'], 1);
|
||||
$_SESSION['ACTION'] = 'jump';
|
||||
} else {
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX']);
|
||||
}
|
||||
|
||||
$_SESSION['CURRENT_TASK'] = $Fields['TAS_UID'];
|
||||
$_SESSION['STEP_POSITION'] = 0;
|
||||
require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
|
||||
|
||||
@@ -49,7 +49,13 @@ $G_ID_SUB_MENU_SELECTED = '_';
|
||||
|
||||
/* Prepare page before to show */
|
||||
$oCase = new Cases();
|
||||
//$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
|
||||
if (isset($_SESSION['ACTION']) && ($_SESSION['ACTION'] == 'jump')) {
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['ACTION']);
|
||||
} else {
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX']);
|
||||
}
|
||||
|
||||
$participated = $oCase->userParticipatedInCase( $_GET['APP_UID'], $_SESSION['USER_LOGGED'] );
|
||||
|
||||
if ($RBAC->userCanAccess( 'PM_ALLCASES' ) < 0 && $participated == 0) {
|
||||
@@ -110,9 +116,21 @@ $aProc = $objProc->load( $Fields['PRO_UID'] );
|
||||
$Fields['PRO_TITLE'] = $aProc['PRO_TITLE'];
|
||||
|
||||
$objTask = new Task();
|
||||
//$aTask = $objTask->load( $Fields['TAS_UID'] );
|
||||
//$Fields['TAS_TITLE'] = $aTask['TAS_TITLE'];
|
||||
|
||||
if (isset($_SESSION['ACTION']) && ($_SESSION['ACTION'] == 'jump')) {
|
||||
$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'] );
|
||||
$Fields['TAS_TITLE'] = $aTask['TAS_TITLE'];
|
||||
|
||||
}
|
||||
$oHeadPublisher = & headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptFile( '/jscore/cases/core/cases_Step.js' );
|
||||
$G_PUBLISH = new Publisher();
|
||||
|
||||
@@ -61,7 +61,12 @@ foreach ($_GET as $k => $v) {
|
||||
$uri .= ($uri == '') ? "$k=$v" : "&$k=$v";
|
||||
}
|
||||
|
||||
//$case = $oCase->loadCase( $_GET['APP_UID'], $_GET['DEL_INDEX'] );
|
||||
if( isset($_GET['action']) && ($_GET['action'] == 'jump') ) {
|
||||
$case = $oCase->loadCase( $_GET['APP_UID'], $_GET['DEL_INDEX'], $_GET['action']);
|
||||
} else {
|
||||
$case = $oCase->loadCase( $_GET['APP_UID'], $_GET['DEL_INDEX'] );
|
||||
}
|
||||
|
||||
if (! isset( $_GET['to_revise'] )) {
|
||||
$script = 'cases_Open?';
|
||||
|
||||
Reference in New Issue
Block a user