コード例 #1
0
ファイル: appProxy.php プロジェクト: rodrigoivan/processmaker
 /**
  * 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'] = '';
 }
コード例 #2
0
ファイル: cases_Resume.php プロジェクト: rrsc/processmaker
//$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();
コード例 #3
0
ファイル: appProxy.php プロジェクト: nshong/processmaker
 /**
  * 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'] = '';
 }
コード例 #4
0
ファイル: summary.php プロジェクト: bqevin/processmaker
     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;