/** * request to open the case summary * * @param string $httpData->appUid * @param string $httpData->delIndex * @return object bool $result->succes, string $result->message(is an exception was thrown), string $result->dynUid */ function requestOpenSummary($httpData) { global $RBAC; $this->success = true; $this->dynUid = ''; switch ($RBAC->userCanAccess('PM_CASES')) { case -2: throw new Exception(G::LoadTranslation('ID_USER_HAVENT_RIGHTS_SYSTEM')); break; case -1: throw new Exception(G::LoadTranslation('ID_USER_HAVENT_RIGHTS_PAGE')); break; } G::LoadClass('case'); $case = new Cases(); if ($RBAC->userCanAccess('PM_ALLCASES') < 0 && $case->userParticipatedInCase($httpData->appUid, $_SESSION['USER_LOGGED']) == 0) { throw new Exception(G::LoadTranslation('ID_NO_PERMISSION_NO_PARTICIPATED')); } if ($httpData->action == 'sent') { // Get the last valid delegation for participated list $criteria = new Criteria(); $criteria->addSelectColumn(AppDelegationPeer::DEL_INDEX); $criteria->add(AppDelegationPeer::APP_UID, $httpData->appUid); $criteria->add(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL); $criteria->addDescendingOrderByColumn(AppDelegationPeer::DEL_INDEX); if (AppDelegationPeer::doCount($criteria) > 0) { $dataset = AppDelegationPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $row = $dataset->getRow(); $httpData->delIndex = $row['DEL_INDEX']; } } $applicationFields = $case->loadCase($httpData->appUid, $httpData->delIndex); $process = new Process(); $processData = $process->load($applicationFields['PRO_UID']); if (isset($processData['PRO_DYNAFORMS']['PROCESS'])) { $this->dynUid = $processData['PRO_DYNAFORMS']['PROCESS']; } $_SESSION['_applicationFields'] = $applicationFields; $_SESSION['_processData'] = $processData; $_SESSION['APPLICATION'] = $httpData->appUid; $_SESSION['INDEX'] = $httpData->delIndex; $_SESSION['PROCESS'] = $applicationFields['PRO_UID']; $_SESSION['TASK'] = $applicationFields['TAS_UID']; $_SESSION['STEP_POSITION'] = ''; }
//$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) { /*if (strtoupper($Fields['APP_STATUS']) != 'COMPLETED') { $oCase->thisIsTheCurrentUser($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'SHOW_MESSAGE'); }*/ $aMessage['MESSAGE'] = G::LoadTranslation( 'ID_NO_PERMISSION_NO_PARTICIPATED' ); $G_PUBLISH = new Publisher();
/** * request to open the case summary * @param string $httpData->appUid * @param string $httpData->delIndex * @return object bool $result->succes, string $result->message(is an exception was thrown), string $result->dynUid */ function requestOpenSummary($httpData) { global $RBAC; $this->success = true; $this->dynUid = ''; switch ($RBAC->userCanAccess('PM_CASES')) { case -2: throw new Exception(G::LoadTranslation('ID_USER_HAVENT_RIGHTS_SYSTEM')); break; case -1: throw new Exception(G::LoadTranslation('ID_USER_HAVENT_RIGHTS_PAGE')); break; } G::LoadClass('case'); $case = new Cases(); if ($RBAC->userCanAccess('PM_ALLCASES') < 0 && $case->userParticipatedInCase($httpData->appUid, $_SESSION['USER_LOGGED']) == 0) { throw new Exception(G::LoadTranslation('ID_NO_PERMISSION_NO_PARTICIPATED')); } $applicationFields = $case->loadCase($httpData->appUid, $httpData->delIndex); $process = new Process(); $processData = $process->load($applicationFields['PRO_UID']); if (isset($processData['PRO_DYNAFORMS']['PROCESS'])) { $this->dynUid = $processData['PRO_DYNAFORMS']['PROCESS']; } $_SESSION['_applicationFields'] = $applicationFields; $_SESSION['_processData'] = $processData; $_SESSION['APPLICATION'] = $httpData->appUid; $_SESSION['INDEX'] = $httpData->delIndex; $_SESSION['PROCESS'] = $applicationFields['PRO_UID']; $_SESSION['TASK'] = $applicationFields['TAS_UID']; $_SESSION['STEP_POSITION'] = ''; }
case -2: throw new Exception(G::LoadTranslation('ID_USER_HAVENT_RIGHTS_SYSTEM')); break; case -1: throw new Exception(G::LoadTranslation('ID_USER_HAVENT_RIGHTS_PAGE')); break; } if (!isset($_REQUEST['APP_UID']) || !isset($_REQUEST['DEL_INDEX']) || !isset($_REQUEST['DYN_UID'])) { throw new Exception(G::LoadTranslation('ID_REQUIRED_FIELDS_ERROR') . ' (APP_UID, DEL_INDEX, DYN_UID)'); } if ($_REQUEST['APP_UID'] == '' || $_REQUEST['DEL_INDEX'] == '' || $_REQUEST['DYN_UID'] == '') { throw new Exception(G::LoadTranslation('ID_REQUIRED_FIELDS_ERROR') . ' (APP_UID, DEL_INDEX, DYN_UID)'); } G::LoadClass('case'); $case = new Cases(); if ($RBAC->userCanAccess('PM_ALLCASES') < 0 && $case->userParticipatedInCase($_REQUEST['APP_UID'], $_SESSION['USER_LOGGED']) == 0) { throw new Exception(G::LoadTranslation('ID_NO_PERMISSION_NO_PARTICIPATED')); } $applicationFields = $case->loadCase($_REQUEST['APP_UID'], $_REQUEST['DEL_INDEX']); if (file_exists(PATH_DYNAFORM . $applicationFields['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'] . '.xml')) { $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = ''; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = '#'; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = ''; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = '#'; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['DYNUIDPRINT'] = $_REQUEST['DYN_UID']; G::LoadClass('dbConnections'); $_SESSION['PROCESS'] = $applicationFields['PRO_UID']; $dbConnections = new dbConnections($_SESSION['PROCESS']); $dbConnections->loadAdditionalConnections(); $_SESSION['CURRENT_DYN_UID'] = $_REQUEST['DYN_UID']; global $G_PUBLISH;