From 047eec39962ad0bf032ffabb66b9906d2b3bbbbd Mon Sep 17 00:00:00 2001 From: erik Date: Fri, 18 Mar 2011 19:34:14 -0400 Subject: [PATCH] fixes in advanced search list to open case --- workflow/engine/methods/cases/cases_Open.php | 32 +++++++++++++++++++ .../engine/methods/cases/cases_Resume.php | 7 +++- workflow/engine/methods/cases/cases_Step.php | 2 +- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/workflow/engine/methods/cases/cases_Open.php b/workflow/engine/methods/cases/cases_Open.php index c2d01d39f..22246f253 100644 --- a/workflow/engine/methods/cases/cases_Open.php +++ b/workflow/engine/methods/cases/cases_Open.php @@ -92,6 +92,38 @@ try { require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php'); exit; } + + /** + * these routine is to verify if the case was acceded from advaced search list + */ + if( $_action == 'search' ) { + //verify if the case is with teh current user + $c = new Criteria('workflow'); + $c->add(AppDelegationPeer::APP_UID, $sAppUid); + $c->addDescendingOrderByColumn(AppDelegationPeer::DEL_INDEX); + $oDataset = AppDelegationPeer::doSelectRs($c); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + $aData = $oDataset->getRow(); + + + if ( $aData['USR_UID'] != $_SESSION['USER_LOGGED'] && + $aData['USR_UID'] != "" //distinct "" for selfservice + ) { + //so we show just the resume + $_SESSION['alreadyDerivated'] = true; + //the case is paused show only the resume + $_SESSION['APPLICATION'] = $sAppUid; + $_SESSION['INDEX'] = $iDelIndex; + $_SESSION['PROCESS'] = $aFields['PRO_UID']; + $_SESSION['TASK'] = -1; + $_SESSION['STEP_POSITION'] = 0; + + require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php'); + exit; + } + } + //proceed and try to open the case $oAppDelegation = new AppDelegation(); diff --git a/workflow/engine/methods/cases/cases_Resume.php b/workflow/engine/methods/cases/cases_Resume.php index 601d81eaa..819ed253b 100644 --- a/workflow/engine/methods/cases/cases_Resume.php +++ b/workflow/engine/methods/cases/cases_Resume.php @@ -83,7 +83,12 @@ /* Render page */ $oHeadPublisher =& headPublisher::getSingleton(); - $oHeadPublisher->addScriptCode("parent.showCaseNavigatorPanel(false, true, $actions)"); + + if( isset($_SESSION['alreadyDerivated']) && $_SESSION['alreadyDerivated'] == true ) + $oHeadPublisher->addScriptCode("parent.showCaseNavigatorPanel(false, true, true)"); + else + $oHeadPublisher->addScriptCode("parent.showCaseNavigatorPanel(false, true, $actions)"); + $oHeadPublisher->addScriptCode(' var Cse = {}; Cse.panels = {}; diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index 1877e7d08..96ecf1f97 100644 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -160,7 +160,7 @@ } #end trigger debug session....... - $oCase->thisIsTheCurrentUser($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'REDIRECT', 'cases_List'); + //$oCase->thisIsTheCurrentUser($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'REDIRECT', 'cases_List'); //Save data - Start $oCase->updateCase ( $_SESSION['APPLICATION'], $Fields );