コード例 #1
0
    public function loadCase($sAppUid, $iDelIndex = 0, $jump = '')

    {

        try {

            $oApp = new Application;

            $aFields = $oApp->Load($sAppUid);



            $appData = self::unserializeData($aFields['APP_DATA']);



            $aFields['APP_DATA'] = G::array_merges(G::getSystemConstants(), $appData);



            switch ($oApp->getAppStatus()) {

                case 'COMPLETED':

                    $aFields['STATUS'] = G::LoadTranslation('ID_COMPLETED');

                    break;

                case 'CANCELLED':

                    $aFields['STATUS'] = G::LoadTranslation('ID_CANCELLED');

                    break;

                case 'PAUSED':

                    $aFields['STATUS'] = G::LoadTranslation('ID_PAUSED');

                    break;

                case 'DRAFT':

                    $aFields['STATUS'] = G::LoadTranslation('ID_DRAFT');

                    break;

                case 'TO_DO':

                    $aFields['STATUS'] = G::LoadTranslation('ID_TO_DO');

                    break;

            }

            $oUser = new Users();

            try {

                $oUser->load($oApp->getAppInitUser());

                $uFields = $oUser->toArray(BasePeer::TYPE_FIELDNAME);

                //$aFields['TITLE'] = $oApp->getAppTitle();

                $aFields['TITLE'] = $aFields['APP_TITLE'];

                $aFields['DESCRIPTION'] = $aFields['APP_DESCRIPTION'];

                $aFields['CREATOR'] = $oUser->getUsrFirstname() . ' ' . $oUser->getUsrLastname();

                $aFields['CREATE_DATE'] = $oApp->getAppCreateDate();

                $aFields['UPDATE_DATE'] = $oApp->getAppUpdateDate();

            } catch (Exception $oError) {

                $aFields['TITLE'] = $oApp->getAppTitle();

                $aFields['DESCRIPTION'] = '';

                $aFields['CREATOR'] = '(USER_DELETED)';

                $aFields['CREATE_DATE'] = $oApp->getAppCreateDate();

                $aFields['UPDATE_DATE'] = $oApp->getAppUpdateDate();

            }



            if ($iDelIndex > 0) {

                //get the Delegation fields,

                $oAppDel = new AppDelegation();

                $oAppDel->Load($sAppUid, $iDelIndex);

                $aAppDel = $oAppDel->toArray(BasePeer::TYPE_FIELDNAME);

                $aFields['TAS_UID'] = $aAppDel['TAS_UID'];

                $aFields['DEL_INDEX'] = $aAppDel['DEL_INDEX'];

                $aFields['DEL_PREVIOUS'] = $aAppDel['DEL_PREVIOUS'];

                $aFields['DEL_TYPE'] = $aAppDel['DEL_TYPE'];

                $aFields['DEL_PRIORITY'] = $aAppDel['DEL_PRIORITY'];

                $aFields['DEL_THREAD_STATUS'] = $aAppDel['DEL_THREAD_STATUS'];

                $aFields['DEL_THREAD'] = $aAppDel['DEL_THREAD'];

                $aFields['DEL_DELEGATE_DATE'] = $aAppDel['DEL_DELEGATE_DATE'];

                $aFields['DEL_INIT_DATE'] = $aAppDel['DEL_INIT_DATE'];

                $aFields['DEL_TASK_DUE_DATE'] = $aAppDel['DEL_TASK_DUE_DATE'];

                $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'] = array();

                        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']));

                        $tasksArray = array_filter(explode("-",$aFields['TAS_UID']));

                        if(count($tasksArray) == 1) {

                            $aFields['TAS_UID'] = $tasksArray[0];

                        }

                    } else {

                        $oCurUser->load($aAppDel['USR_UID']);

                        $aFields['CURRENT_USER'] = $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();

                    }



                } catch (Exception $oError) {

                    $aFields['CURRENT_USER'] = '';

                }

            }

            return $aFields;

        } catch (exception $e) {

            throw ($e);

        }

    }
コード例 #2
0
$licensedFeatures =& PMLicensedFeatures::getSingleton();
if (!$licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
    G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
    G::header('location: ../login/login');
    die;
}
$caseId = $_SESSION['APPLICATION'];
$usrUid = $_SESSION['USER_LOGGED'];
$usrName = $_SESSION['USR_FULLNAME'];
$actualIndex = $_SESSION['INDEX'];
$cont = 0;
use ProcessMaker\Services\Api;
$appDel = new AppDelegation();
$actualThread = $appDel->Load($caseId, $actualIndex);
$actualLastIndex = $actualThread['DEL_PREVIOUS'];
$appDelPrev = $appDel->LoadParallel($caseId);
if ($appDelPrev == array()) {
    $appDelPrev['0'] = $actualThread;
}
$Pmgmail = new \ProcessMaker\BusinessModel\Pmgmail();
foreach ($appDelPrev as $app) {
    if ($app['DEL_INDEX'] != $actualIndex && $app['DEL_PREVIOUS'] != $actualLastIndex) {
        //Sending the email to all threads of the case except the actual thread
        $response = $Pmgmail->sendEmail($caseId, "", $app['DEL_INDEX']);
    }
}
require_once PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.labelsGmail.php";
$oLabels = new labelsGmail();
$oResponse = $oLabels->setLabels($caseId, $actualIndex, $actualLastIndex, false);
$enablePMGmail = false;
G::LoadClass("pmDrive");
コード例 #3
0
ファイル: cases_Resume.php プロジェクト: rrsc/processmaker
$oHeadPublisher = & headPublisher::getSingleton();

$oHeadPublisher->addScriptFile( '/jscore/cases/core/cases_Step.js' );

$G_PUBLISH = new Publisher();

$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume.xml', '', $Fields, '' );

if($Fields['APP_STATUS'] != 'COMPLETED'){

  $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task_Title.xml', '', $Fields, '' );

  $objDel = new AppDelegation();

  $parallel = $objDel->LoadParallel ($Fields['APP_UID'],$_GET['DEL_INDEX']);

  $FieldsPar = $Fields;

  if(empty($parallel)){

    $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task.xml', '', $Fields, '' );

  }else{

    foreach($parallel as $row){

      $FieldsPar['TAS_UID'] = $row['TAS_UID'];

      $aTask = $objTask->load( $row['TAS_UID'] );
コード例 #4
0
$oHeadPublisher = & headPublisher::getSingleton();

$oHeadPublisher->addScriptFile( '/jscore/cases/core/cases_Step.js' );

$G_PUBLISH = new Publisher();

$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume.xml', '', $Fields, '' );

if($Fields['APP_STATUS'] != 'COMPLETED'){

  $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task_Title.xml', '', $Fields, '' );

  $objDel = new AppDelegation(); 

  $parallel = $objDel->LoadParallel ($Fields['APP_UID']);

  $FieldsPar = $Fields;

  if(empty($parallel)){

    $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task.xml', '', $Fields, '' );

  }else{

    foreach($parallel as $row){

      $FieldsPar['TAS_UID'] = $row['TAS_UID'];

      $aTask = $objTask->load( $row['TAS_UID'] );