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);
|
$CriteriaCount->addJoinMC($arrayCondition, Criteria::LEFT_JOIN);
|
||||||
|
|
||||||
//Previous user
|
//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")) {
|
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->addAlias( 'PU', 'USERS' );
|
||||||
$Criteria->addJoin( AppCacheViewPeer::PREVIOUS_USR_UID, 'PU.USR_UID', Criteria::LEFT_JOIN );
|
$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
|
//Check also $distinct in the method getListCounters(), this in AppCacheView.php
|
||||||
$distinct = true;
|
$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;
|
$distinct = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -429,7 +430,6 @@ class Applications
|
|||||||
require_once (PATH_DB . SYS_SYS . PATH_SEP . "classes" . PATH_SEP . $tableName . ".php");
|
require_once (PATH_DB . SYS_SYS . PATH_SEP . "classes" . PATH_SEP . $tableName . ".php");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$totalCount = AppCacheViewPeer::doCount($CriteriaCount, $distinct);
|
$totalCount = AppCacheViewPeer::doCount($CriteriaCount, $distinct);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -528,13 +528,14 @@ class Applications
|
|||||||
$maxDataset->close();
|
$maxDataset->close();
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
//Current delegation (*)
|
//Current delegation (*) || $action == "search" || $action == "to_revise"
|
||||||
if (($action == "sent" || $action == "search" || $action == "simple_search" || $action == "to_revise" || $action == "to_reassign") && ($status != "TO_DO")) {
|
if (($action == "sent" || $action == "simple_search" || $action == "to_reassign") && ($status != "TO_DO")) {
|
||||||
//Current task
|
//Current task
|
||||||
$aRow["APP_TAS_TITLE"] = $aRow["APPCVCR_APP_TAS_TITLE"];
|
$aRow["APP_TAS_TITLE"] = $aRow["APPCVCR_APP_TAS_TITLE"];
|
||||||
|
|
||||||
//Current user
|
//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_UID"] = $aRow["USRCR_USR_UID"];
|
||||||
$aRow["USR_FIRSTNAME"] = $aRow["USRCR_USR_FIRSTNAME"];
|
$aRow["USR_FIRSTNAME"] = $aRow["USRCR_USR_FIRSTNAME"];
|
||||||
$aRow["USR_LASTNAME"] = $aRow["USRCR_USR_LASTNAME"];
|
$aRow["USR_LASTNAME"] = $aRow["USRCR_USR_LASTNAME"];
|
||||||
|
|||||||
@@ -507,7 +507,7 @@ class Cases
|
|||||||
* @return Fields
|
* @return Fields
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public function loadCase($sAppUid, $iDelIndex = 0)
|
public function loadCase($sAppUid, $iDelIndex = 0, $jump = '')
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oApp = new Application;
|
$oApp = new Application;
|
||||||
@@ -575,9 +575,25 @@ class Cases
|
|||||||
$aFields['DEL_FINISH_DATE'] = $aAppDel['DEL_FINISH_DATE'];
|
$aFields['DEL_FINISH_DATE'] = $aAppDel['DEL_FINISH_DATE'];
|
||||||
$aFields['CURRENT_USER_UID'] = $aAppDel['USR_UID'];
|
$aFields['CURRENT_USER_UID'] = $aAppDel['USR_UID'];
|
||||||
try {
|
try {
|
||||||
|
//$oCurUser = new Users();
|
||||||
|
//$oCurUser->load($aAppDel['USR_UID']);
|
||||||
|
//$aFields['CURRENT_USER'] = $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
|
||||||
$oCurUser = new Users();
|
$oCurUser = new Users();
|
||||||
$oCurUser->load($aAppDel['USR_UID']);
|
if ($jump != '') {
|
||||||
$aFields['CURRENT_USER'] = $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
|
$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) {
|
} catch (Exception $oError) {
|
||||||
$aFields['CURRENT_USER'] = '';
|
$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
|
* Update the application row
|
||||||
*
|
*
|
||||||
@@ -290,7 +325,7 @@ class AppDelegation extends BaseAppDelegation
|
|||||||
$aCalendarUID = '';
|
$aCalendarUID = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
//use the dates class to calculate dates
|
//use the dates class to calculate dates
|
||||||
$calendar = new calendar();
|
$calendar = new calendar();
|
||||||
|
|
||||||
if ($calendar->pmCalendarUid == '') {
|
if ($calendar->pmCalendarUid == '') {
|
||||||
|
|||||||
@@ -188,7 +188,14 @@ try {
|
|||||||
$_SESSION['INDEX'] = $row['DEL_INDEX'];
|
$_SESSION['INDEX'] = $row['DEL_INDEX'];
|
||||||
$_SESSION['PROCESS'] = $aFields['PRO_UID'];
|
$_SESSION['PROCESS'] = $aFields['PRO_UID'];
|
||||||
$_SESSION['TASK'] = - 1;
|
$_SESSION['TASK'] = - 1;
|
||||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
|
//$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['CURRENT_TASK'] = $Fields['TAS_UID'];
|
||||||
$_SESSION['STEP_POSITION'] = 0;
|
$_SESSION['STEP_POSITION'] = 0;
|
||||||
require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
|
require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
|
||||||
|
|||||||
@@ -49,7 +49,13 @@ $G_ID_SUB_MENU_SELECTED = '_';
|
|||||||
|
|
||||||
/* Prepare page before to show */
|
/* Prepare page before to show */
|
||||||
$oCase = new Cases();
|
$oCase = new Cases();
|
||||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
|
//$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'] );
|
$participated = $oCase->userParticipatedInCase( $_GET['APP_UID'], $_SESSION['USER_LOGGED'] );
|
||||||
|
|
||||||
if ($RBAC->userCanAccess( 'PM_ALLCASES' ) < 0 && $participated == 0) {
|
if ($RBAC->userCanAccess( 'PM_ALLCASES' ) < 0 && $participated == 0) {
|
||||||
@@ -110,9 +116,21 @@ $aProc = $objProc->load( $Fields['PRO_UID'] );
|
|||||||
$Fields['PRO_TITLE'] = $aProc['PRO_TITLE'];
|
$Fields['PRO_TITLE'] = $aProc['PRO_TITLE'];
|
||||||
|
|
||||||
$objTask = new Task();
|
$objTask = new Task();
|
||||||
$aTask = $objTask->load( $Fields['TAS_UID'] );
|
//$aTask = $objTask->load( $Fields['TAS_UID'] );
|
||||||
$Fields['TAS_TITLE'] = $aTask['TAS_TITLE'];
|
//$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 = & headPublisher::getSingleton();
|
||||||
$oHeadPublisher->addScriptFile( '/jscore/cases/core/cases_Step.js' );
|
$oHeadPublisher->addScriptFile( '/jscore/cases/core/cases_Step.js' );
|
||||||
$G_PUBLISH = new Publisher();
|
$G_PUBLISH = new Publisher();
|
||||||
|
|||||||
@@ -61,7 +61,12 @@ foreach ($_GET as $k => $v) {
|
|||||||
$uri .= ($uri == '') ? "$k=$v" : "&$k=$v";
|
$uri .= ($uri == '') ? "$k=$v" : "&$k=$v";
|
||||||
}
|
}
|
||||||
|
|
||||||
$case = $oCase->loadCase( $_GET['APP_UID'], $_GET['DEL_INDEX'] );
|
//$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'] )) {
|
if (! isset( $_GET['to_revise'] )) {
|
||||||
$script = 'cases_Open?';
|
$script = 'cases_Open?';
|
||||||
|
|||||||
Reference in New Issue
Block a user