diff --git a/workflow/engine/methods/cases/cases_Ajax.php b/workflow/engine/methods/cases/cases_Ajax.php index 229c961c3..1d0c1e052 100755 --- a/workflow/engine/methods/cases/cases_Ajax.php +++ b/workflow/engine/methods/cases/cases_Ajax.php @@ -22,827 +22,894 @@ * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ + G::LoadClass('case'); $oCase = new Cases(); + //if($RBAC->userCanAccess('PM_ALLCASES') < 0) { -// $oCase->thisIsTheCurrentUser($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'SHOW_MESSAGE'); +// $oCase->thisIsTheCurrentUser( $_SESSION['APPLICATION'], +// $_SESSION['INDEX'], +// $_SESSION['USER_LOGGED'], +// 'SHOW_MESSAGE'); //} -if(($RBAC_Response = $RBAC->userCanAccess("PM_CASES")) != 1) - return $RBAC_Response; -if(isset($_POST['showWindow'])) { - if($_POST['showWindow'] == 'steps') { - $fn = 'showSteps();'; - } elseif($_POST['showWindow'] == 'information') { - $fn = 'showInformation();'; - } elseif($_POST['showWindow'] == 'actions') { - $fn = 'showActions();'; - } elseif($_POST['showWindow'] == 'false') { - $fn = ''; - } else { - if($_POST['showWindow'] != '') { - $fn = false; - } - } - $_SESSION['showCasesWindow'] = $fn; -} -if(! isset($_POST['action'])) { - $_POST['action'] = ''; +if (($RBAC_Response = $RBAC->userCanAccess("PM_CASES")) != 1) { + return $RBAC_Response; } -switch(($_POST['action'])?$_POST['action']:$_REQUEST['action']) { - case 'steps': - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('view', 'cases/cases_StepsTree'); - G::RenderPage('publish', 'raw'); - break; - case 'information': - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('view', 'cases/cases_InformationTree'); - G::RenderPage('publish', 'raw'); - break; - case 'actions': - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('view', 'cases/cases_ActionsTree'); - G::RenderPage('publish', 'raw'); - break; - case 'showProcessMap': - $oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html'); - $oTemplatePower->prepare(); - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower); - $oHeadPublisher = & headPublisher::getSingleton(); - $oHeadPublisher->addScriptCode(' - var pb=leimnud.dom.capture("tag.body 0"); - Pm=new processmap(); - - var params = "{\"uid\":\"' . $_SESSION['PROCESS'] . '\",\"mode\":false,\"ct\":false}"; - // maximun x and y position - var xPos = 0; - var yPos = 0; - - //obtaining the processmap object for the current process - var oRPC = new leimnud.module.rpc.xmlhttp({ - url : "../processes/processes_Ajax", - async : false, - method: "POST", - args : "action=load&data="+params - }); - // make the ajax call - oRPC.make(); - var response = eval(\'(\' + oRPC.xmlhttp.responseText + \')\'); - //alert(response); - - for (var i in response){ - if (i==\'task\'){ - elements = response[i]; - for (var j in elements){ - if (elements[j].uid!=undefined){ - if (elements[j].position.x > xPos){ - xPos = elements[j].position.x; - } - if (elements[j].position.y > yPos){ - yPos = elements[j].position.y; - } - } - } - } - } - - Pm.options = { - target : "pm_target", - dataServer: "../processes/processes_Ajax", - uid : "' . $_SESSION['PROCESS'] . '", - lang : "' . SYS_LANG . '", - theme : "processmaker", - size : {w:xPos+200,h:yPos+150}, - images_dir: "/jscore/processmap/core/images/", - rw : false, - hideMenu : false - } - Pm.make();'); - G::RenderPage('publish', 'raw'); - break; - case 'showLeyends': - $aFields = array(); - $aFields['sLabel1'] = G::LoadTranslation('ID_TASK_IN_PROGRESS'); - $aFields['sLabel2'] = G::LoadTranslation('ID_COMPLETED_TASK'); - $aFields['sLabel3'] = G::LoadTranslation('ID_PENDING_TASK'); - $aFields['sLabel4'] = G::LoadTranslation('ID_PARALLEL_TASK'); - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('smarty', 'cases/cases_Leyends', '', '', $aFields); - G::RenderPage('publish', 'raw'); - break; - case 'showProcessInformation': - require_once 'classes/model/Process.php'; - $oProcess = new Process(); - $aFields = $oProcess->load($_SESSION['PROCESS']); - require_once 'classes/model/Users.php'; - $oUser = new Users(); - try { - $aUser = $oUser->load($aFields['PRO_CREATE_USER']); - $aFields['PRO_AUTHOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - } catch ( Exception $oError ) { - $aFields['PRO_AUTHOR'] = '(USER DELETED)'; - } - $aFields['PRO_CREATE_DATE'] = date('F j, Y', strtotime($aFields['PRO_CREATE_DATE'])); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_ProcessInformation', '', $aFields); - G::RenderPage('publish', 'raw'); - break; - case 'showTransferHistory': - G::LoadClass("case"); - $c = Cases::getTransferHistoryCriteria($_SESSION['APPLICATION']); - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_TransferHistory', $c, array()); - G::RenderPage('publish', 'raw'); - break; - case 'showDynaformListHistory': - require_once 'classes/model/AppHistory.php'; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('view', 'cases/cases_DynaformHistory'); - G::RenderPage('publish', 'raw'); - break; - case 'showTaskInformation': - require_once 'classes/model/AppDelegation.php'; - require_once 'classes/model/Task.php'; - $oTask = new Task(); - $aFields = $oTask->load($_SESSION['TASK']); - $oCriteria = new Criteria('workflow'); - $oCriteria->add(AppDelegationPeer::APP_UID, $_SESSION['APPLICATION']); - $oCriteria->add(AppDelegationPeer::DEL_INDEX, $_SESSION['INDEX']); - $oDataset = AppDelegationPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - $aDelegation = $oDataset->getRow(); - $iDiff = strtotime($aDelegation['DEL_FINISH_DATE']) - strtotime($aDelegation['DEL_INIT_DATE']); - $aFields['INIT_DATE'] = ($aDelegation['DEL_INIT_DATE'] != null ? $aDelegation['DEL_INIT_DATE'] : G::LoadTranslation('ID_CASE_NOT_YET_STARTED')); - $aFields['DUE_DATE'] = ($aDelegation['DEL_TASK_DUE_DATE'] != null ? $aDelegation['DEL_TASK_DUE_DATE'] : G::LoadTranslation('ID_NOT_FINISHED')); - $aFields['FINISH'] = ($aDelegation['DEL_FINISH_DATE'] != null ? $aDelegation['DEL_FINISH_DATE'] : G::LoadTranslation('ID_NOT_FINISHED')); - $aFields['DURATION'] = ($aDelegation['DEL_FINISH_DATE'] != null ? (int) ($iDiff / 3600) . ' ' . ((int) ($iDiff / 3600) == 1 ? G::LoadTranslation('ID_HOUR') : G::LoadTranslation('ID_HOURS')) . ' ' . (int) (($iDiff % 3600) / 60) . ' ' . ((int) (($iDiff % 3600) / 60) == 1 ? G::LoadTranslation('ID_MINUTE') : G::LoadTranslation('ID_MINUTES')) . ' ' . (int) (($iDiff % 3600) % 60) . ' ' . ((int) (($iDiff % 3600) % 60) == 1 ? G::LoadTranslation('ID_SECOND') : G::LoadTranslation('ID_SECONDS')) : G::LoadTranslation('ID_NOT_FINISHED')); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_TaskInformation', '', $aFields); - G::RenderPage('publish', 'raw'); - break; - case 'showTaskDetails': - require_once 'classes/model/AppDelegation.php'; - require_once 'classes/model/Task.php'; - require_once 'classes/model/Users.php'; - $oTask = new Task(); - $aRow = $oTask->load($_POST['sTaskUID']); - $sTitle = $aRow['TAS_TITLE']; - $oCriteria = new Criteria('workflow'); - $oCriteria->addSelectColumn(UsersPeer::USR_UID); - $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); - $oCriteria->addSelectColumn(AppDelegationPeer::DEL_INIT_DATE); - $oCriteria->addSelectColumn(AppDelegationPeer::DEL_TASK_DUE_DATE); - $oCriteria->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE); - $oCriteria->addJoin(AppDelegationPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN); - $oCriteria->add(AppDelegationPeer::APP_UID, $_SESSION['APPLICATION']); - $oCriteria->add(AppDelegationPeer::TAS_UID, $_POST['sTaskUID']); - $oCriteria->addDescendingOrderByColumn(AppDelegationPeer::DEL_INDEX); - $oDataset = AppDelegationPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - $aRow = $oDataset->getRow(); - $iDiff = strtotime($aRow['DEL_FINISH_DATE']) - strtotime($aRow['DEL_INIT_DATE']); - $aFields = array(); - $aFields['TASK'] = $sTitle; - $aFields['USER'] = ($aRow['USR_UID'] != null ? $aRow['USR_FIRSTNAME'] . ' ' . $aRow['USR_LASTNAME'] : G::LoadTranslation('ID_NONE')); - $aFields['INIT_DATE'] = ($aRow['DEL_INIT_DATE'] != null ? $aRow['DEL_INIT_DATE'] : G::LoadTranslation('ID_CASE_NOT_YET_STARTED')); - $aFields['DUE_DATE'] = ($aRow['DEL_TASK_DUE_DATE'] != null ? $aRow['DEL_TASK_DUE_DATE'] : G::LoadTranslation('ID_CASE_NOT_YET_STARTED')); - $aFields['FINISH'] = ($aRow['DEL_FINISH_DATE'] != null ? $aRow['DEL_FINISH_DATE'] : G::LoadTranslation('ID_NOT_FINISHED')); - $aFields['DURATION'] = ($aRow['DEL_FINISH_DATE'] != null ? (int) ($iDiff / 3600) . ' ' . ((int) ($iDiff / 3600) == 1 ? G::LoadTranslation('ID_HOUR') : G::LoadTranslation('ID_HOURS')) . ' ' . (int) (($iDiff % 3600) / 60) . ' ' . ((int) (($iDiff % 3600) / 60) == 1 ? G::LoadTranslation('ID_MINUTE') : G::LoadTranslation('ID_MINUTES')) . ' ' . (int) (($iDiff % 3600) % 60) . ' ' . ((int) (($iDiff % 3600) % 60) == 1 ? G::LoadTranslation('ID_SECOND') : G::LoadTranslation('ID_SECONDS')) : G::LoadTranslation('ID_NOT_FINISHED')); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_TaskDetails', '', $aFields); - G::RenderPage('publish', 'raw'); - break; - case 'showUsers': - switch($_POST['TAS_ASSIGN_TYPE']) { - case 'BALANCED': - G::LoadClass('user'); - $oUser = new User(new DBConnection()); - $oUser->load($_POST['USR_UID']); - echo $oUser->Fields['USR_FIRSTNAME'] . ' ' . $oUser->Fields['USR_LASTNAME'] . ''; - break; - case 'MANUAL': - $sAux = ''; - echo $sAux; - break; - case 'EVALUATE': - G::LoadClass('application'); - $oApplication = new Application(new DBConnection()); - $oApplication->load($_SESSION['APPLICATION']); - $sUser = ''; - if($_POST['TAS_ASSIGN_VARIABLE'] != '') { - if(isset($oApplication->Fields['APP_DATA'][str_replace('@@', '', $_POST['TAS_ASSIGN_VARIABLE'])])) { - $sUser = $oApplication->Fields['APP_DATA'][str_replace('@@', '', $_POST['TAS_ASSIGN_VARIABLE'])]; - } - } - if($sUser != '') { - G::LoadClass('user'); - $oUser = new User(new DBConnection()); - $oUser->load($sUser); - echo $oUser->Fields['USR_FIRSTNAME'] . ' ' . $oUser->Fields['USR_LASTNAME'] . ''; - } else { - echo 'Error: ' . $_POST['TAS_ASSIGN_VARIABLE'] . ' ' . G::LoadTranslation('ID_EMPTY'); - echo ''; - } - break; - case 'SELFSERVICE': - //Next release - break; - } - break; - - case 'cancelCase': - $oCase = new Cases(); - $multiple = false; - - if( isset($_POST['APP_UID']) && isset($_POST['DEL_INDEX']) ) { - $APP_UID = $_POST['APP_UID']; - $DEL_INDEX = $_POST['DEL_INDEX']; - - $appUids = explode(',', $APP_UID); - $delIndexes = explode(',', $DEL_INDEX); - if( count($appUids) > 1 && count($delIndexes) > 1 ) - $multiple = true; - } else if( isset($_POST['sApplicationUID']) && isset($_POST['iIndex']) ){ - $APP_UID = $_POST['sApplicationUID']; - $DEL_INDEX = $_POST['iIndex']; +if (isset($_POST['showWindow'])) { + if ($_POST['showWindow'] == 'steps') { + $fn = 'showSteps();'; + } elseif ($_POST['showWindow'] == 'information') { + $fn = 'showInformation();'; + } elseif ($_POST['showWindow'] == 'actions') { + $fn = 'showActions();'; + } elseif($_POST['showWindow'] == 'false') { + $fn = ''; } else { - $APP_UID = $_SESSION['APPLICATION']; - $DEL_INDEX = $_SESSION['INDEX']; - } + if ($_POST['showWindow'] != '') { + $fn = false; + } + } + $_SESSION['showCasesWindow'] = $fn; +} - if( $multiple ) { - foreach($appUids as $i=>$appUid) - $oCase->cancelCase($appUid, $delIndexes[$i], $_SESSION['USER_LOGGED']); - } else - $oCase->cancelCase($APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED']); - break; +if (!isset($_POST['action'])) { + $_POST['action'] = ''; +} - case 'reactivateCase': - $sApplicationUID = isset($_POST['sApplicationUID']) ? $_POST['sApplicationUID'] : $_SESSION['APPLICATION']; - $iIndex = (isset($_POST['sApplicationUID'])) ? $_POST['iIndex'] : $_SESSION['INDEX']; - $oCase = new Cases(); - $oCase->reactivateCase($sApplicationUID, $iIndex, $_SESSION['USER_LOGGED']); - break; - case 'showPauseCaseInput': - //echo ''; - $aFields = Array(); - $G_PUBLISH = new Publisher(); - - $aFields['TIME_STAMP'] = G::getformatedDate(date('Y-m-d'), 'M d, yyyy', SYS_LANG); - - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_UnpauseDateInput', '', $aFields); - G::RenderPage('publish', 'raw'); - break; - - case 'pauseCase': - $unpauseDate = $_POST['unpausedate']; - $oCase = new Cases(); - if( isset($_POST['APP_UID']) && isset($_POST['DEL_INDEX']) ) { - $APP_UID = $_POST['APP_UID']; - $DEL_INDEX = $_POST['DEL_INDEX']; - } else if( isset($_POST['sApplicationUID']) && isset($_POST['iIndex']) ){ - $APP_UID = $_POST['sApplicationUID']; - $DEL_INDEX = $_POST['iIndex']; - } else { - $APP_UID = $_SESSION['APPLICATION']; - $DEL_INDEX = $_SESSION['INDEX']; - } +switch (($_POST['action'])?$_POST['action']:$_REQUEST['action']) { + case 'steps': + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('view', 'cases/cases_StepsTree'); + G::RenderPage('publish', 'raw'); + break; + case 'information': + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('view', 'cases/cases_InformationTree'); + G::RenderPage('publish', 'raw'); + break; + case 'actions': + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('view', 'cases/cases_ActionsTree'); + G::RenderPage('publish', 'raw'); + break; + case 'showProcessMap': + $oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html'); + $oTemplatePower->prepare(); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower); + $oHeadPublisher = & headPublisher::getSingleton(); + $oHeadPublisher->addScriptCode(' + var pb=leimnud.dom.capture("tag.body 0"); + Pm=new processmap(); - $oCase->pauseCase($APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED'], $unpauseDate); - break; + var params = "{\"uid\":\"' . $_SESSION['PROCESS'] . '\",\"mode\":false,\"ct\":false}"; + // maximun x and y position + var xPos = 0; + var yPos = 0; - case 'unpauseCase': - $sApplicationUID = (isset($_POST['sApplicationUID'])) ? $_POST['sApplicationUID'] : $_SESSION['APPLICATION']; - $iIndex = (isset($_POST['sApplicationUID'])) ? $_POST['iIndex'] : $_SESSION['INDEX']; - $oCase = new Cases(); - $oCase->unpauseCase($sApplicationUID, $iIndex, $_SESSION['USER_LOGGED']); - break; - case 'deleteCase': - $oCase = new Cases(); - $sApplicationUID = (isset($_POST['sApplicationUID'])) ? $_POST['sApplicationUID'] : $_SESSION['APPLICATION']; - $oCase->removeCase($sApplicationUID); - break; - case 'view_reassignCase': - G::LoadClass('groups'); - G::LoadClass('tasks'); + //obtaining the processmap object for the current process + var oRPC = new leimnud.module.rpc.xmlhttp({ + url : "../processes/processes_Ajax", + async : false, + method: "POST", + args : "action=load&data="+params + }); + + // make the ajax call + oRPC.make(); + var response = eval(\'(\' + oRPC.xmlhttp.responseText + \')\'); + //alert(response); - $oTasks = new Tasks(); - $aAux = $oTasks->getGroupsOfTask($_SESSION['TASK'], 1); - $row = array(); + for (var i in response) { + if (i==\'task\') { + elements = response[i]; + for (var j in elements) { + if (elements[j].uid!=undefined) { + if (elements[j].position.x > xPos) { + xPos = elements[j].position.x; + } + if (elements[j].position.y > yPos) { + yPos = elements[j].position.y; + } + } + } + } + } - $groups = new Groups(); - foreach($aAux as $aGroup) { - $aUsers = $groups->getUsersOfGroup($aGroup['GRP_UID']); - foreach($aUsers as $aUser) { - if($aUser['USR_UID'] != $_SESSION['USER_LOGGED']) { - $row[] = $aUser['USR_UID']; - } - } - } + Pm.options = { + target : "pm_target", + dataServer: "../processes/processes_Ajax", + uid : "' . $_SESSION['PROCESS'] . '", + lang : "' . SYS_LANG . '", + theme : "processmaker", + size : {w:xPos+200,h:yPos+150}, + images_dir: "/jscore/processmap/core/images/", + rw : false, + hideMenu : false + } + Pm.make();'); + G::RenderPage('publish', 'raw'); + break; + case 'showLeyends': + $aFields = array(); + $aFields['sLabel1'] = G::LoadTranslation('ID_TASK_IN_PROGRESS'); + $aFields['sLabel2'] = G::LoadTranslation('ID_COMPLETED_TASK'); + $aFields['sLabel3'] = G::LoadTranslation('ID_PENDING_TASK'); + $aFields['sLabel4'] = G::LoadTranslation('ID_PARALLEL_TASK'); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('smarty', 'cases/cases_Leyends', '', '', $aFields); + G::RenderPage('publish', 'raw'); + break; + case 'showProcessInformation': + require_once 'classes/model/Process.php'; + $oProcess = new Process(); + $aFields = $oProcess->load($_SESSION['PROCESS']); + require_once 'classes/model/Users.php'; + $oUser = new Users(); + try { + $aUser = $oUser->load($aFields['PRO_CREATE_USER']); + $aFields['PRO_AUTHOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; + } catch (Exception $oError) { + $aFields['PRO_AUTHOR'] = '(USER DELETED)'; + } + $aFields['PRO_CREATE_DATE'] = date('F j, Y', strtotime($aFields['PRO_CREATE_DATE'])); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_ProcessInformation', '', $aFields); + G::RenderPage('publish', 'raw'); + break; + case 'showTransferHistory': + G::LoadClass("case"); + $c = Cases::getTransferHistoryCriteria($_SESSION['APPLICATION']); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_TransferHistory', $c, array()); + G::RenderPage('publish', 'raw'); + break; + case 'showDynaformListHistory': + require_once 'classes/model/AppHistory.php'; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('view', 'cases/cases_DynaformHistory'); + G::RenderPage('publish', 'raw'); + break; + case 'showTaskInformation': + require_once 'classes/model/AppDelegation.php'; + require_once 'classes/model/Task.php'; + $oTask = new Task(); + $aFields = $oTask->load($_SESSION['TASK']); + $oCriteria = new Criteria('workflow'); + $oCriteria->add(AppDelegationPeer::APP_UID, $_SESSION['APPLICATION']); + $oCriteria->add(AppDelegationPeer::DEL_INDEX, $_SESSION['INDEX']); + $oDataset = AppDelegationPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + $aDelegation = $oDataset->getRow(); + $iDiff = strtotime($aDelegation['DEL_FINISH_DATE']) - strtotime($aDelegation['DEL_INIT_DATE']); + $aFields['INIT_DATE'] = ($aDelegation['DEL_INIT_DATE'] != null ? + $aDelegation['DEL_INIT_DATE'] : + G::LoadTranslation('ID_CASE_NOT_YET_STARTED')); + $aFields['DUE_DATE'] = ($aDelegation['DEL_TASK_DUE_DATE'] != null ? + $aDelegation['DEL_TASK_DUE_DATE'] : + G::LoadTranslation('ID_NOT_FINISHED')); + $aFields['FINISH'] = ($aDelegation['DEL_FINISH_DATE'] != null ? + $aDelegation['DEL_FINISH_DATE'] : + G::LoadTranslation('ID_NOT_FINISHED')); + $aFields['DURATION'] = ($aDelegation['DEL_FINISH_DATE'] != null ? + (int) ($iDiff / 3600) . ' ' . ((int) ($iDiff / 3600) == 1 ? + G::LoadTranslation('ID_HOUR') : + G::LoadTranslation('ID_HOURS')) . ' ' . (int) (($iDiff % 3600) / 60) . ' ' . + ((int) (($iDiff % 3600) / 60) == 1 ? + G::LoadTranslation('ID_MINUTE') : G::LoadTranslation('ID_MINUTES')) . + ' ' . (int) (($iDiff % 3600) % 60) . ' ' . + ((int) (($iDiff % 3600) % 60) == 1 ? + G::LoadTranslation('ID_SECOND') : G::LoadTranslation('ID_SECONDS')) : + G::LoadTranslation('ID_NOT_FINISHED')); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_TaskInformation', '', $aFields); + G::RenderPage('publish', 'raw'); + break; + case 'showTaskDetails': + require_once 'classes/model/AppDelegation.php'; + require_once 'classes/model/Task.php'; + require_once 'classes/model/Users.php'; + $oTask = new Task(); + $aRow = $oTask->load($_POST['sTaskUID']); + $sTitle = $aRow['TAS_TITLE']; + $oCriteria = new Criteria('workflow'); + $oCriteria->addSelectColumn(UsersPeer::USR_UID); + $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); + $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); + $oCriteria->addSelectColumn(AppDelegationPeer::DEL_INIT_DATE); + $oCriteria->addSelectColumn(AppDelegationPeer::DEL_TASK_DUE_DATE); + $oCriteria->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE); + $oCriteria->addJoin(AppDelegationPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN); + $oCriteria->add(AppDelegationPeer::APP_UID, $_SESSION['APPLICATION']); + $oCriteria->add(AppDelegationPeer::TAS_UID, $_POST['sTaskUID']); + $oCriteria->addDescendingOrderByColumn(AppDelegationPeer::DEL_INDEX); + $oDataset = AppDelegationPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + $aRow = $oDataset->getRow(); + $iDiff = strtotime($aRow['DEL_FINISH_DATE']) - strtotime($aRow['DEL_INIT_DATE']); + $aFields = array(); + $aFields['TASK'] = $sTitle; + $aFields['USER'] = ($aRow['USR_UID'] != null ? + $aRow['USR_FIRSTNAME'] . ' ' . $aRow['USR_LASTNAME'] : + G::LoadTranslation('ID_NONE')); + $aFields['INIT_DATE'] = ($aRow['DEL_INIT_DATE'] != null ? + $aRow['DEL_INIT_DATE'] : + G::LoadTranslation('ID_CASE_NOT_YET_STARTED')); + $aFields['DUE_DATE'] = ($aRow['DEL_TASK_DUE_DATE'] != null ? + $aRow['DEL_TASK_DUE_DATE'] : + G::LoadTranslation('ID_CASE_NOT_YET_STARTED')); + $aFields['FINISH'] = ($aRow['DEL_FINISH_DATE'] != null ? + $aRow['DEL_FINISH_DATE'] : + G::LoadTranslation('ID_NOT_FINISHED')); + $aFields['DURATION'] = ($aRow['DEL_FINISH_DATE'] != null ? + (int) ($iDiff / 3600) . ' ' . ((int) ($iDiff / 3600) == 1 ? + G::LoadTranslation('ID_HOUR') : + G::LoadTranslation('ID_HOURS')) . ' ' . + (int) (($iDiff % 3600) / 60) . ' ' . + ((int) (($iDiff % 3600) / 60) == 1 ? + G::LoadTranslation('ID_MINUTE') : + G::LoadTranslation('ID_MINUTES')) . ' ' . + (int) (($iDiff % 3600) % 60) . ' ' . + ((int) (($iDiff % 3600) % 60) == 1 ? + G::LoadTranslation('ID_SECOND') : + G::LoadTranslation('ID_SECONDS')) : + G::LoadTranslation('ID_NOT_FINISHED')); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_TaskDetails', '', $aFields); + G::RenderPage('publish', 'raw'); + break; + case 'showUsers': + switch ($_POST['TAS_ASSIGN_TYPE']) { + // switch verify $_POST['TAS_ASSIGN_TYPE'] + case 'BALANCED': + G::LoadClass('user'); + $oUser = new User(new DBConnection()); + $oUser->load($_POST['USR_UID']); + echo $oUser->Fields['USR_FIRSTNAME'] . ' ' . $oUser->Fields['USR_LASTNAME'] . + ''; + break; + case 'MANUAL': + $sAux = ''; + echo $sAux; + break; + case 'EVALUATE': + G::LoadClass('application'); + $oApplication = new Application(new DBConnection()); + $oApplication->load($_SESSION['APPLICATION']); + $sUser = ''; + if ($_POST['TAS_ASSIGN_VARIABLE'] != '') { + if (isset($oApplication->Fields['APP_DATA'][str_replace('@@','',$_POST['TAS_ASSIGN_VARIABLE'])])) { + $sUser = $oApplication->Fields['APP_DATA'][str_replace('@@','',$_POST['TAS_ASSIGN_VARIABLE'])]; + } + } + if ($sUser != '') { + G::LoadClass('user'); + $oUser = new User(new DBConnection()); + $oUser->load($sUser); + echo $oUser->Fields['USR_FIRSTNAME'] . ' ' . $oUser->Fields['USR_LASTNAME'] . + ''; + } else { + echo 'Error: ' . $_POST['TAS_ASSIGN_VARIABLE'] . ' ' . + G::LoadTranslation('ID_EMPTY'); + echo ''; + } + break; + case 'SELFSERVICE': + //Next release + break; + } + break; + case 'cancelCase': + $oCase = new Cases(); + $multiple = false; - require_once 'classes/model/Users.php'; - $c = new Criteria('workflow'); - $c->addSelectColumn(UsersPeer::USR_UID); - $c->addSelectColumn(UsersPeer::USR_FIRSTNAME); - $c->addSelectColumn(UsersPeer::USR_LASTNAME); - $c->add(UsersPeer::USR_UID, $row, Criteria::IN); + if (isset($_POST['APP_UID']) && isset($_POST['DEL_INDEX'])) { + $APP_UID = $_POST['APP_UID']; + $DEL_INDEX = $_POST['DEL_INDEX']; - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'processes/processes_viewreassignCase', $c); - G::RenderPage('publish', 'raw'); - break; - case 'reassignCase': - $cases = new Cases(); - $cases->reassignCase($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], $_POST['USR_UID'], $_POST['THETYPE']); - break; - case 'toRevisePanel': - $_GET['APP_UID'] = $_POST['APP_UID']; - $_GET['DEL_INDEX'] = $_POST['DEL_INDEX']; - $G_PUBLISH = new Publisher(); + $appUids = explode(',', $APP_UID); + $delIndexes = explode(',', $DEL_INDEX); + if (count($appUids) > 1 && count($delIndexes) > 1) { + $multiple = true; + } + } elseif (isset($_POST['sApplicationUID']) && isset($_POST['iIndex'])) { + $APP_UID = $_POST['sApplicationUID']; + $DEL_INDEX = $_POST['iIndex']; + } else { + $APP_UID = $_SESSION['APPLICATION']; + $DEL_INDEX = $_SESSION['INDEX']; + } - echo ""; -// $G_PUBLISH->AddContent( 'smarty', 'cases/cases_toRevise' ); -// $G_PUBLISH->AddContent('smarty', 'cases/cases_toReviseIn', '', '', array()); - G::RenderPage('publish', 'raw'); - break; - case 'showUploadedDocuments': - $oCase = new Cases(); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_AllInputdocsList', $oCase->getAllUploadedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED'])); - G::RenderPage('publish', 'raw'); - break; - case 'showUploadedDocument': - require_once 'classes/model/AppDocument.php'; - require_once 'classes/model/AppDelegation.php'; - require_once 'classes/model/InputDocument.php'; - require_once 'classes/model/Users.php'; - $oAppDocument = new AppDocument(); - $oAppDocument->Fields = $oAppDocument->load($_POST['APP_DOC_UID']); - $oInputDocument = new InputDocument(); - if($oAppDocument->Fields['DOC_UID'] != - 1) { - $Fields = $oInputDocument->load($oAppDocument->Fields['DOC_UID']); - } else { - $Fields = array('INP_DOC_FORM_NEEDED'=>'', 'FILENAME'=>$oAppDocument->Fields['APP_DOC_FILENAME']); - } - $oCriteria = new Criteria('workflow'); - $oCriteria->add(AppDelegationPeer::APP_UID, $oAppDocument->Fields['APP_UID']); - $oCriteria->add(AppDelegationPeer::DEL_INDEX, $oAppDocument->Fields['DEL_INDEX']); - $oDataset = AppDelegationPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - $aRow = $oDataset->getRow(); - $oTask = new Task(); - try { - $aTask = $oTask->load($aRow['TAS_UID']); - $Fields['ORIGIN'] = $aTask['TAS_TITLE']; - $oAppDocument->Fields['VIEW'] = G::LoadTranslation('ID_OPEN'); - } catch ( Exception $oException ) { - $Fields['ORIGIN'] = '(TASK DELETED)'; - } + if ($multiple) { + foreach ($appUids as $i => $appUid) { + $oCase->cancelCase($appUid, $delIndexes[$i], $_SESSION['USER_LOGGED']); + } + } else { + $oCase->cancelCase($APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED']); + } + break; + case 'reactivateCase': + $sApplicationUID = isset($_POST['sApplicationUID']) ? $_POST['sApplicationUID'] : $_SESSION['APPLICATION']; + $iIndex = (isset($_POST['sApplicationUID'])) ? $_POST['iIndex'] : $_SESSION['INDEX']; + $oCase = new Cases(); + $oCase->reactivateCase($sApplicationUID, $iIndex, $_SESSION['USER_LOGGED']); + break; + case 'showPauseCaseInput': + //echo ''; + $aFields = Array(); + $G_PUBLISH = new Publisher(); + $aFields['TIME_STAMP'] = G::getformatedDate(date('Y-m-d'), 'M d, yyyy', SYS_LANG); - try { - $oUser = new Users(); - $aUser = $oUser->load($oAppDocument->Fields['USR_UID']); - $Fields['CREATOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - } catch ( Exception $e ) { - $Fields['CREATOR'] = '***'; - } - switch($Fields['INP_DOC_FORM_NEEDED']) { - case 'REAL': - $sXmlForm = 'cases/cases_ViewAnyInputDocument2'; - break; - case 'VIRTUAL': - $sXmlForm = 'cases/cases_ViewAnyInputDocument1'; - break; - case 'VREAL': - $sXmlForm = 'cases/cases_ViewAnyInputDocument3'; - break; - default: - $sXmlForm = 'cases/cases_ViewAnyInputDocument'; - break; - } - //$oAppDocument->Fields['VIEW'] = G::LoadTranslation('ID_OPEN'); - $oAppDocument->Fields['FILE'] = 'cases_ShowDocument?a=' . $_POST['APP_DOC_UID'] . '&r=' . rand(); - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('xmlform', 'xmlform', $sXmlForm, '', G::array_merges($Fields, $oAppDocument->Fields), ''); - G::RenderPage('publish', 'raw'); - break; - - case 'showGeneratedDocuments': - global $G_PUBLISH; - $oCase = new Cases(); - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_AllOutputdocsList', $oCase->getAllGeneratedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED'])); - - G::RenderPage('publish', 'raw'); - break; - - case 'uploadDocumentGrid_Ajax': - G::LoadClass('case'); - G::LoadClass("BasePeer" ); - global $G_PUBLISH; - - $oCase = new Cases(); - $aProcesses = Array(); - - $G_PUBLISH = new Publisher(); - $c = $oCase->getAllUploadedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED']); - - if ( $c->getDbName() == 'dbarray' ) { - $rs = ArrayBasePeer::doSelectRs ($c); - } - else { - $rs = GulliverBasePeer::doSelectRs ($c); - } - - $rs->setFetchmode (ResultSet::FETCHMODE_ASSOC); - $rs->next(); - - $totalCount = 0; - - for ($j=0;$j< $rs->getRecordCount() ;$j++) { - $result = $rs->getRow(); - $aProcesses[] = $result; - $rs->next(); - $totalCount++; - } - - $newDir = '/tmp/test/directory'; - $r = G::verifyPath ( $newDir ); - $r->data = $aProcesses; - $r->totalCount = $totalCount; - - echo G::json_encode($r); - break; - - case 'generateDocumentGrid_Ajax': + $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_UnpauseDateInput', '', $aFields); + G::RenderPage('publish', 'raw'); + break; + case 'pauseCase': + $unpauseDate = $_POST['unpausedate']; + $oCase = new Cases(); + if (isset($_POST['APP_UID']) && isset($_POST['DEL_INDEX'])) { + $APP_UID = $_POST['APP_UID']; + $DEL_INDEX = $_POST['DEL_INDEX']; + } elseif (isset($_POST['sApplicationUID']) && isset($_POST['iIndex'])) { + $APP_UID = $_POST['sApplicationUID']; + $DEL_INDEX = $_POST['iIndex']; + } else { + $APP_UID = $_SESSION['APPLICATION']; + $DEL_INDEX = $_SESSION['INDEX']; + } - G::LoadClass('case'); - G::LoadClass("BasePeer" ); - G::LoadClass ( 'configuration' ); - global $G_PUBLISH; - - $oCase = new Cases(); - $aProcesses = Array(); - - $G_PUBLISH = new Publisher(); - $c = $oCase->getAllGeneratedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED']); - - if ( $c->getDbName() == 'dbarray' ){ - $rs = ArrayBasePeer::doSelectRs ($c); - } - else { - $rs = GulliverBasePeer::doSelectRs ($c); - } - - $rs->setFetchmode (ResultSet::FETCHMODE_ASSOC); - $rs->next(); - - $totalCount = 0; - - for ($j=0;$j< $rs->getRecordCount() ;$j++) { - $result = $rs->getRow(); - $result["FILEDOCEXIST"] = ($result["FILEDOC"]); - $result["FILEPDFEXIST"] = ($result["FILEPDF"]); - $aProcesses[] = $result; - - $rs->next(); - $totalCount++; - } + $oCase->pauseCase($APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED'], $unpauseDate); + break; + case 'unpauseCase': + $sApplicationUID = (isset($_POST['sApplicationUID'])) ? $_POST['sApplicationUID'] : $_SESSION['APPLICATION']; + $iIndex = (isset($_POST['sApplicationUID'])) ? $_POST['iIndex'] : $_SESSION['INDEX']; + $oCase = new Cases(); + $oCase->unpauseCase($sApplicationUID, $iIndex, $_SESSION['USER_LOGGED']); + break; + case 'deleteCase': + $oCase = new Cases(); + $sApplicationUID = (isset($_POST['sApplicationUID'])) ? $_POST['sApplicationUID'] : $_SESSION['APPLICATION']; + $oCase->removeCase($sApplicationUID); + break; + case 'view_reassignCase': + G::LoadClass('groups'); + G::LoadClass('tasks'); - //!dateFormat - $conf = new Configurations(); - - try { - $generalConfCasesList = $conf->getConfiguration('ENVIRONMENT_SETTINGS', '' ); - } - catch (Exception $e) { - $generalConfCasesList = array(); - } + $oTasks = new Tasks(); + $aAux = $oTasks->getGroupsOfTask($_SESSION['TASK'], 1); + $row = array(); - $dateFormat = ""; + $groups = new Groups(); + foreach ($aAux as $aGroup) { + $aUsers = $groups->getUsersOfGroup($aGroup['GRP_UID']); + foreach ($aUsers as $aUser) { + if ($aUser['USR_UID'] != $_SESSION['USER_LOGGED']) { + $row[] = $aUser['USR_UID']; + } + } + } - if (isset($generalConfCasesList['casesListDateFormat'])&&!empty($generalConfCasesList['casesListDateFormat'])) { - $dateFormat = $generalConfCasesList['casesListDateFormat']; - } + $aAux = $oTasks->getUsersOfTask($_SESSION['TASK'], 1); + foreach ($aAux as $aUser) { + if ($aUser['USR_UID'] != $_SESSION['USER_LOGGED']) { + $row[] = $aUser['USR_UID']; + } + } - $newDir = '/tmp/test/directory'; - $r = G::verifyPath ( $newDir ); - $r->data = $aProcesses; - $r->totalCount = $totalCount; - $r->dataFormat = $dateFormat; + require_once 'classes/model/Users.php'; + $c = new Criteria('workflow'); + $c->addSelectColumn(UsersPeer::USR_UID); + $c->addSelectColumn(UsersPeer::USR_FIRSTNAME); + $c->addSelectColumn(UsersPeer::USR_LASTNAME); + $c->add(UsersPeer::USR_UID, $row, Criteria::IN); - echo G::json_encode($r); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('propeltable', 'paged-table', 'processes/processes_viewreassignCase', $c); + G::RenderPage('publish', 'raw'); + break; + case 'reassignCase': + $cases = new Cases(); + $cases->reassignCase($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], + $_POST['USR_UID'], $_POST['THETYPE']); + break; + case 'toRevisePanel': + $_GET['APP_UID'] = $_POST['APP_UID']; + $_GET['DEL_INDEX'] = $_POST['DEL_INDEX']; + $G_PUBLISH = new Publisher(); - break; - - case 'showGeneratedDocument' : - require_once 'classes/model/AppDocument.php'; - require_once 'classes/model/AppDelegation.php'; - $oAppDocument = new AppDocument(); - $aFields = $oAppDocument->load($_POST['APP_DOC_UID']); - require_once 'classes/model/OutputDocument.php'; - $oOutputDocument = new OutputDocument(); - $aOD = $oOutputDocument->load($aFields['DOC_UID']); - $oCriteria = new Criteria('workflow'); - $oCriteria->add(AppDelegationPeer::APP_UID, $aFields['APP_UID']); - $oCriteria->add(AppDelegationPeer::DEL_INDEX, $aFields['DEL_INDEX']); - $oDataset = AppDelegationPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - $aRow = $oDataset->getRow(); - $oTask = new Task(); - $aTask = $oTask->load($aRow['TAS_UID']); - $aFields['ORIGIN'] = $aTask['TAS_TITLE']; - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $aUser = $oUser->load($aFields['USR_UID']); - $aFields['CREATOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - $aFields['VIEW'] = G::LoadTranslation('ID_OPEN'); - $aFields['FILE1'] = 'cases_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=doc&random=' . rand(); - $aFields['FILE2'] = 'cases_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=pdf&random=' . rand(); - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_ViewAnyOutputDocument', '', G::array_merges($aOD, $aFields), ''); - G::RenderPage('publish', 'raw'); - break; + echo ""; + // $G_PUBLISH->AddContent( 'smarty', 'cases/cases_toRevise' ); + // $G_PUBLISH->AddContent('smarty', 'cases/cases_toReviseIn', '', '', array()); + G::RenderPage('publish', 'raw'); + break; + case 'showUploadedDocuments': + $oCase = new Cases(); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_AllInputdocsList', + $oCase->getAllUploadedDocumentsCriteria($_SESSION['PROCESS'], + $_SESSION['APPLICATION'], + $_SESSION['TASK'], + $_SESSION['USER_LOGGED'])); + G::RenderPage('publish', 'raw'); + break; + case 'showUploadedDocument': + require_once 'classes/model/AppDocument.php'; + require_once 'classes/model/AppDelegation.php'; + require_once 'classes/model/InputDocument.php'; + require_once 'classes/model/Users.php'; + $oAppDocument = new AppDocument(); + $oAppDocument->Fields = $oAppDocument->load($_POST['APP_DOC_UID']); + $oInputDocument = new InputDocument(); + if ($oAppDocument->Fields['DOC_UID'] != - 1) { + $Fields = $oInputDocument->load($oAppDocument->Fields['DOC_UID']); + } else { + $Fields = array('INP_DOC_FORM_NEEDED'=>'', 'FILENAME'=>$oAppDocument->Fields['APP_DOC_FILENAME']); + } + $oCriteria = new Criteria('workflow'); + $oCriteria->add(AppDelegationPeer::APP_UID, $oAppDocument->Fields['APP_UID']); + $oCriteria->add(AppDelegationPeer::DEL_INDEX, $oAppDocument->Fields['DEL_INDEX']); + $oDataset = AppDelegationPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + $aRow = $oDataset->getRow(); + $oTask = new Task(); + try { + $aTask = $oTask->load($aRow['TAS_UID']); + $Fields['ORIGIN'] = $aTask['TAS_TITLE']; + $oAppDocument->Fields['VIEW'] = G::LoadTranslation('ID_OPEN'); + } catch ( Exception $oException ) { + $Fields['ORIGIN'] = '(TASK DELETED)'; + } - case 'showDynaformList': - $oCase = new Cases(); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_AllDynaformsList', $oCase->getallDynaformsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED'])); - G::RenderPage('publish', 'raw'); - break; + try { + $oUser = new Users(); + $aUser = $oUser->load($oAppDocument->Fields['USR_UID']); + $Fields['CREATOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; + } catch (Exception $e) { + $Fields['CREATOR'] = '***'; + } + switch ($Fields['INP_DOC_FORM_NEEDED']) { + // switch verify $Fields['INP_DOC_FORM_NEEDED'] + case 'REAL': + $sXmlForm = 'cases/cases_ViewAnyInputDocument2'; + break; + case 'VIRTUAL': + $sXmlForm = 'cases/cases_ViewAnyInputDocument1'; + break; + case 'VREAL': + $sXmlForm = 'cases/cases_ViewAnyInputDocument3'; + break; + default: + $sXmlForm = 'cases/cases_ViewAnyInputDocument'; + break; + } + //$oAppDocument->Fields['VIEW'] = G::LoadTranslation('ID_OPEN'); + $oAppDocument->Fields['FILE'] = 'cases_ShowDocument?a=' . $_POST['APP_DOC_UID'] . '&r=' . rand(); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $sXmlForm, '', + G::array_merges($Fields, $oAppDocument->Fields), ''); + G::RenderPage('publish', 'raw'); + break; + case 'showGeneratedDocuments': + global $G_PUBLISH; + $oCase = new Cases(); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'cases/cases_AllOutputdocsList', + $oCase->getAllGeneratedDocumentsCriteria( $_SESSION['PROCESS'], + $_SESSION['APPLICATION'], + $_SESSION['TASK'], + $_SESSION['USER_LOGGED'])); - case 'showDynaform': - $G_PUBLISH = new Publisher(); - $oCase = new Cases(); - $Fields = $oCase->loadCase($_SESSION['APPLICATION']); - $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = ''; - $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = ''; - $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = '#'; - $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = 'return false;'; - if(isset($_POST['DYN_UID'])) - $_SESSION['DYN_UID_PRINT'] = $_POST['DYN_UID']; - else - $_SESSION['DYN_UID_PRINT'] = $_REQUEST['DYN_UID']; - if(!isset($_SESSION['CURRENT_DYN_UID'])) $_SESSION['CURRENT_DYN_UID'] = $_POST['DYN_UID']?$_POST['DYN_UID']:$_REQUEST['DYN_UID']; - $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_REQUEST['DYN_UID'], '', $Fields['APP_DATA'], '', '', 'view'); - G::RenderPage('publish', 'blank'); - break; - case 'showDynaformHistory': - $G_PUBLISH = new Publisher(); - $FieldsHistory=unserialize($_SESSION['HISTORY_DATA']); - $Fields['APP_DATA'] = $FieldsHistory[$_POST['HISTORY_ID']]; - $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = ''; - $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = ''; - $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = '#'; - $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = 'return false;'; - $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_POST['DYN_UID'], '', $Fields['APP_DATA'], '', '', 'view'); - G::RenderPage('publish', 'raw'); - break; + G::RenderPage('publish', 'raw'); + break; + case 'uploadDocumentGrid_Ajax': + G::LoadClass('case'); + G::LoadClass("BasePeer" ); + global $G_PUBLISH; - case 'adhocAssignmentUsers': - G::LoadClass('groups'); - G::LoadClass('tasks'); - $oTasks = new Tasks(); - $aAux = $oTasks->getGroupsOfTask($_SESSION['TASK'], 2); - $aAdhocUsers = array(); - $oGroups = new Groups(); - foreach($aAux as $aGroup) { - $aUsers = $oGroups->getUsersOfGroup($aGroup['GRP_UID']); - foreach($aUsers as $aUser) { - if($aUser['USR_UID'] != $_SESSION['USER_LOGGED']) { - $aAdhocUsers[] = $aUser['USR_UID']; - } - } - } - $aAux = $oTasks->getUsersOfTask($_SESSION['TASK'], 2); - foreach($aAux as $aUser) { - if($aUser['USR_UID'] != $_SESSION['USER_LOGGED']) { - $aAdhocUsers[] = $aUser['USR_UID']; - } - } - require_once 'classes/model/Users.php'; - $oCriteria = new Criteria('workflow'); - $oCriteria->addSelectColumn(UsersPeer::USR_UID); - $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); - $oCriteria->add(UsersPeer::USR_UID, $aAdhocUsers, Criteria::IN); + $oCase = new Cases(); + $aProcesses = Array(); + $G_PUBLISH = new Publisher(); + $c = $oCase->getAllUploadedDocumentsCriteria( $_SESSION['PROCESS'], + $_SESSION['APPLICATION'], + $_SESSION['TASK'], + $_SESSION['USER_LOGGED']); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'processes/processes_viewreassignCase', $oCriteria, array('THETYPE'=>'ADHOC')); - G::RenderPage('publish', 'raw'); - break; + if ($c->getDbName() == 'dbarray') { + $rs = ArrayBasePeer::doSelectRs ($c); + } else { + $rs = GulliverBasePeer::doSelectRs ($c); + } - case 'showHistoryMessages': - $oCase = new Cases(); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_Messages', $oCase->getHistoryMessagesTracker($_SESSION['APPLICATION'])); - G::RenderPage('publish', 'raw'); - break; + $rs->setFetchmode (ResultSet::FETCHMODE_ASSOC); + $rs->next(); - case 'showHistoryMessage': - $G_PUBLISH = new Publisher(); - $oCase = new Cases(); + $totalCount = 0; - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_MessagesView', '', $oCase->getHistoryMessagesTrackerView($_POST['APP_UID'], $_POST['APP_MSG_UID'])); - G::RenderPage('publish', 'raw'); - break; + for ($j=0; $j< $rs->getRecordCount(); $j++) { + $result = $rs->getRow(); + $aProcesses[] = $result; + $rs->next(); + $totalCount++; + } - case 'deleteUploadedDocument': - require_once 'classes/model/AppDocument.php'; - $oAppDocument = new AppDocument(); - $oAppDocument->remove($_POST['DOC']); - $oCase = new Cases(); - $oCase->getAllUploadedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED']); - break; + $newDir = '/tmp/test/directory'; + $r = G::verifyPath ( $newDir ); + $r->data = $aProcesses; + $r->totalCount = $totalCount; - case 'deleteGeneratedDocument': - require_once 'classes/model/AppDocument.php'; - $oAppDocument = new AppDocument(); - $oAppDocument->remove($_POST['DOC']); - $oCase = new Cases(); - $oCase->getAllGeneratedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED']); - break; + echo G::json_encode($r); + break; + case 'generateDocumentGrid_Ajax': + G::LoadClass('case'); + G::LoadClass("BasePeer" ); + G::LoadClass ( 'configuration' ); + global $G_PUBLISH; + + $oCase = new Cases(); + $aProcesses = Array(); + $G_PUBLISH = new Publisher(); + $c = $oCase->getAllGeneratedDocumentsCriteria( $_SESSION['PROCESS'], + $_SESSION['APPLICATION'], + $_SESSION['TASK'], + $_SESSION['USER_LOGGED']); + + if ($c->getDbName() == 'dbarray') { + $rs = ArrayBasePeer::doSelectRs ($c); + } else { + $rs = GulliverBasePeer::doSelectRs ($c); + } + + $rs->setFetchmode (ResultSet::FETCHMODE_ASSOC); + $rs->next(); + + $totalCount = 0; + + for ($j=0; $j< $rs->getRecordCount(); $j++) { + $result = $rs->getRow(); + $result["FILEDOCEXIST"] = ($result["FILEDOC"]); + $result["FILEPDFEXIST"] = ($result["FILEPDF"]); + $aProcesses[] = $result; + + $rs->next(); + $totalCount++; + } + + //!dateFormat + $conf = new Configurations(); + + try { + $globaleneralConfCasesList = $conf->getConfiguration('ENVIRONMENT_SETTINGS', '' ); + } catch (Exception $e) { + $generalConfCasesList = array(); + } + + $dateFormat = ""; + $varFlag = isset($generalConfCasesList['casesListDateFormat']); + if ($varFlag &&!empty($generalConfCasesList['casesListDateFormat'])) { + $dateFormat = $generalConfCasesList['casesListDateFormat']; + } + + $newDir = '/tmp/test/directory'; + $r = G::verifyPath ( $newDir ); + $r->data = $aProcesses; + $r->totalCount = $totalCount; + $r->dataFormat = $dateFormat; + + echo G::json_encode($r); + break; + case 'showGeneratedDocument': + require_once 'classes/model/AppDocument.php'; + require_once 'classes/model/AppDelegation.php'; + $oAppDocument = new AppDocument(); + $aFields = $oAppDocument->load($_POST['APP_DOC_UID']); + require_once 'classes/model/OutputDocument.php'; + $oOutputDocument = new OutputDocument(); + $aOD = $oOutputDocument->load($aFields['DOC_UID']); + $oCriteria = new Criteria('workflow'); + $oCriteria->add(AppDelegationPeer::APP_UID, $aFields['APP_UID']); + $oCriteria->add(AppDelegationPeer::DEL_INDEX, $aFields['DEL_INDEX']); + $oDataset = AppDelegationPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + $aRow = $oDataset->getRow(); + $oTask = new Task(); + $aTask = $oTask->load($aRow['TAS_UID']); + $aFields['ORIGIN'] = $aTask['TAS_TITLE']; + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $aUser = $oUser->load($aFields['USR_UID']); + $aFields['CREATOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; + $aFields['VIEW'] = G::LoadTranslation('ID_OPEN'); + $aFields['FILE1'] = 'cases_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=doc&random=' . rand(); + $aFields['FILE2'] = 'cases_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=pdf&random=' . rand(); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_ViewAnyOutputDocument', '', + G::array_merges($aOD, $aFields), ''); + G::RenderPage('publish', 'raw'); + break; + case 'showDynaformList': + $oCase = new Cases(); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'cases/cases_AllDynaformsList', + $oCase->getallDynaformsCriteria( $_SESSION['PROCESS'], + $_SESSION['APPLICATION'], + $_SESSION['TASK'], + $_SESSION['USER_LOGGED'])); + G::RenderPage('publish', 'raw'); + break; + case 'showDynaform': + $G_PUBLISH = new Publisher(); + $oCase = new Cases(); + $Fields = $oCase->loadCase($_SESSION['APPLICATION']); + $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = ''; + $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = ''; + $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = '#'; + $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = 'return false;'; + if (isset($_POST['DYN_UID'])) { + $_SESSION['DYN_UID_PRINT'] = $_POST['DYN_UID']; + } else { + $_SESSION['DYN_UID_PRINT'] = $_REQUEST['DYN_UID']; + } + if (!isset($_SESSION['CURRENT_DYN_UID'])) { + $_SESSION['CURRENT_DYN_UID'] = $_POST['DYN_UID']?$_POST['DYN_UID']:$_REQUEST['DYN_UID']; + } + $G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_REQUEST['DYN_UID'], '', + $Fields['APP_DATA'], '', '', 'view'); + G::RenderPage('publish', 'blank'); + break; + case 'showDynaformHistory': + $G_PUBLISH = new Publisher(); + $FieldsHistory=unserialize($_SESSION['HISTORY_DATA']); + $Fields['APP_DATA'] = $FieldsHistory[$_POST['HISTORY_ID']]; + $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = ''; + $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = ''; + $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = '#'; + $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = 'return false;'; + $G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_POST['DYN_UID'], '', + $Fields['APP_DATA'], '', '', 'view'); + G::RenderPage('publish', 'raw'); + break; + case 'adhocAssignmentUsers': + G::LoadClass('groups'); + G::LoadClass('tasks'); + $oTasks = new Tasks(); + $aAux = $oTasks->getGroupsOfTask($_SESSION['TASK'], 2); + $aAdhocUsers = array(); + $oGroups = new Groups(); + foreach ($aAux as $aGroup) { + $aUsers = $oGroups->getUsersOfGroup($aGroup['GRP_UID']); + foreach ($aUsers as $aUser) { + if ($aUser['USR_UID'] != $_SESSION['USER_LOGGED']) { + $aAdhocUsers[] = $aUser['USR_UID']; + } + } + } + $aAux = $oTasks->getUsersOfTask($_SESSION['TASK'], 2); + foreach ($aAux as $aUser) { + if ($aUser['USR_UID'] != $_SESSION['USER_LOGGED']) { + $aAdhocUsers[] = $aUser['USR_UID']; + } + } + require_once 'classes/model/Users.php'; + $oCriteria = new Criteria('workflow'); + $oCriteria->addSelectColumn(UsersPeer::USR_UID); + $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); + $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); + $oCriteria->add(UsersPeer::USR_UID, $aAdhocUsers, Criteria::IN); + + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'processes/processes_viewreassignCase', + $oCriteria, array('THETYPE'=>'ADHOC')); + G::RenderPage('publish', 'raw'); + break; + case 'showHistoryMessages': + $oCase = new Cases(); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'cases/cases_Messages', + $oCase->getHistoryMessagesTracker($_SESSION['APPLICATION'])); + G::RenderPage('publish', 'raw'); + break; + case 'showHistoryMessage': + $G_PUBLISH = new Publisher(); + $oCase = new Cases(); + + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_MessagesView', '', + $oCase->getHistoryMessagesTrackerView($_POST['APP_UID'], $_POST['APP_MSG_UID'])); + G::RenderPage('publish', 'raw'); + break; + case 'deleteUploadedDocument': + require_once 'classes/model/AppDocument.php'; + $oAppDocument = new AppDocument(); + $oAppDocument->remove($_POST['DOC']); + $oCase = new Cases(); + $oCase->getAllUploadedDocumentsCriteria( $_SESSION['PROCESS'], + $_SESSION['APPLICATION'], + $_SESSION['TASK'], + $_SESSION['USER_LOGGED']); + break; + case 'deleteGeneratedDocument': + require_once 'classes/model/AppDocument.php'; + $oAppDocument = new AppDocument(); + $oAppDocument->remove($_POST['DOC']); + $oCase = new Cases(); + $oCase->getAllGeneratedDocumentsCriteria( $_SESSION['PROCESS'], + $_SESSION['APPLICATION'], + $_SESSION['TASK'], + $_SESSION['USER_LOGGED']); + break; /* @Author Erik Amaru Ortiz */ - case 'resendMessage': - require_once 'classes/model/Configuration.php'; - G::LoadClass('spool'); + case 'resendMessage': + require_once 'classes/model/Configuration.php'; + G::LoadClass('spool'); - $oCase = new Cases(); - $data = $oCase->getHistoryMessagesTrackerView($_POST['APP_UID'], $_POST['APP_MSG_UID']); - //print_r($data); + $oCase = new Cases(); + $data = $oCase->getHistoryMessagesTrackerView($_POST['APP_UID'], $_POST['APP_MSG_UID']); + //print_r($data); - $oConfiguration = new Configuration(); - $sDelimiter = DBAdapter::getStringDelimiter(); - $oCriteria = new Criteria('workflow'); - $oCriteria->add(ConfigurationPeer::CFG_UID, 'Emails'); - $oCriteria->add(ConfigurationPeer::OBJ_UID, ''); - $oCriteria->add(ConfigurationPeer::PRO_UID, ''); - $oCriteria->add(ConfigurationPeer::USR_UID, ''); - $oCriteria->add(ConfigurationPeer::APP_UID, ''); - if(ConfigurationPeer::doCount($oCriteria) == 0) { - $oConfiguration->create(array('CFG_UID'=>'Emails', 'OBJ_UID'=>'', 'CFG_VALUE'=>'', 'PRO_UID'=>'', 'USR_UID'=>'', 'APP_UID'=>'')); - $aConfiguration = array(); - } else { - $aConfiguration = $oConfiguration->load('Emails', '', '', '', ''); - if($aConfiguration['CFG_VALUE'] != '') { - $aConfiguration = unserialize($aConfiguration['CFG_VALUE']); - } else { - $aConfiguration = array(); - } - } - - $oSpool = new spoolRun(); - $oSpool->setConfig(array( - 'MESS_ENGINE' => $aConfiguration['MESS_ENGINE'], - 'MESS_SERVER' => $aConfiguration['MESS_SERVER'], - 'MESS_PORT' => $aConfiguration['MESS_PORT'], - 'MESS_ACCOUNT' => $aConfiguration['MESS_ACCOUNT'], - 'MESS_PASSWORD' => $aConfiguration['MESS_PASSWORD'], - 'SMTPAuth' => $aConfiguration['MESS_RAUTH'] - )); - $passwd = $oSpool['MESS_PASSWORD']; - $passwdDec = G::decrypt($passwd,'EMAILENCRYPT'); - if (strpos( $passwdDec, 'hash:' ) !== false) { - list($hash, $pass) = explode(":", $passwdDec); - $oSpool['MESS_PASSWORD'] = $pass; - } - - $oSpool->create(array( - 'msg_uid' => $data['MSG_UID'], - 'app_uid' => $data['APP_UID'], - 'del_index' => $data['DEL_INDEX'], - 'app_msg_type' => $data['APP_MSG_TYPE'], - 'app_msg_subject'=> $data['APP_MSG_SUBJECT'], - 'app_msg_from' => $data['APP_MSG_FROM'], - 'app_msg_to' => $data['APP_MSG_TO'], - 'app_msg_body' => $data['APP_MSG_BODY'], - 'app_msg_cc' => $data['APP_MSG_CC'], - 'app_msg_bcc' => $data['APP_MSG_BCC'], - 'app_msg_attach'=> $data['APP_MSG_ATTACH'], - 'app_msg_template'=>$data['APP_MSG_TEMPLATE'], - 'app_msg_status'=> 'pending' - )); - $oSpool->sendMail(); - - break; - - /* @Author Erik Amaru Ortiz */ - case 'showdebug': - - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('view', 'cases/showDebugFrame'); - G::RenderPage('publish', 'raw'); - break; + $oConfiguration = new Configuration(); + $sDelimiter = DBAdapter::getStringDelimiter(); + $oCriteria = new Criteria('workflow'); + $oCriteria->add(ConfigurationPeer::CFG_UID, 'Emails'); + $oCriteria->add(ConfigurationPeer::OBJ_UID, ''); + $oCriteria->add(ConfigurationPeer::PRO_UID, ''); + $oCriteria->add(ConfigurationPeer::USR_UID, ''); + $oCriteria->add(ConfigurationPeer::APP_UID, ''); + if (ConfigurationPeer::doCount($oCriteria) == 0) { + $oConfiguration->create( array( 'CFG_UID'=>'Emails', 'OBJ_UID'=>'', 'CFG_VALUE'=>'', + 'PRO_UID'=>'', 'USR_UID'=>'', 'APP_UID'=>'')); + $aConfiguration = array(); + } else { + $aConfiguration = $oConfiguration->load('Emails', '', '', '', ''); + if ($aConfiguration['CFG_VALUE'] != '') { + $aConfiguration = unserialize($aConfiguration['CFG_VALUE']); + } else { + $aConfiguration = array(); + } + } + $oSpool = new spoolRun(); + $oSpool->setConfig(array( + 'MESS_ENGINE' => $aConfiguration['MESS_ENGINE'], + 'MESS_SERVER' => $aConfiguration['MESS_SERVER'], + 'MESS_PORT' => $aConfiguration['MESS_PORT'], + 'MESS_ACCOUNT' => $aConfiguration['MESS_ACCOUNT'], + 'MESS_PASSWORD' => $aConfiguration['MESS_PASSWORD'], + 'SMTPAuth' => $aConfiguration['MESS_RAUTH'] + )); + $passwd = $oSpool['MESS_PASSWORD']; + $passwdDec = G::decrypt($passwd,'EMAILENCRYPT'); + if (strpos( $passwdDec, 'hash:' ) !== false) { + list($hash, $pass) = explode(":", $passwdDec); + $oSpool['MESS_PASSWORD'] = $pass; + } + $oSpool->create(array( + 'msg_uid' => $data['MSG_UID'], + 'app_uid' => $data['APP_UID'], + 'del_index' => $data['DEL_INDEX'], + 'app_msg_type' => $data['APP_MSG_TYPE'], + 'app_msg_subject'=> $data['APP_MSG_SUBJECT'], + 'app_msg_from' => $data['APP_MSG_FROM'], + 'app_msg_to' => $data['APP_MSG_TO'], + 'app_msg_body' => $data['APP_MSG_BODY'], + 'app_msg_cc' => $data['APP_MSG_CC'], + 'app_msg_bcc' => $data['APP_MSG_BCC'], + 'app_msg_attach'=> $data['APP_MSG_ATTACH'], + 'app_msg_template'=>$data['APP_MSG_TEMPLATE'], + 'app_msg_status'=> 'pending' + )); + $oSpool->sendMail(); + break; /* @Author Erik Amaru Ortiz */ - case 'reassignByUserList': - $APP_UIDS = explode(',', $_POST['APP_UIDS']); - $sReassignFromUser = $_POST['FROM_USR_ID']; - + case 'showdebug': + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent('view', 'cases/showDebugFrame'); + G::RenderPage('publish', 'raw'); + break; + /* @Author Erik Amaru Ortiz */ + case 'reassignByUserList': + $APP_UIDS = explode(',', $_POST['APP_UIDS']); + $sReassignFromUser = $_POST['FROM_USR_ID']; + G::LoadClass('tasks'); G::LoadClass('groups'); G::LoadClass('case'); - + $oTasks = new Tasks(); $oGroups = new Groups(); $oUser = new Users(); $oCases = new Cases(); - + $aCasesList = Array(); - foreach ( $APP_UIDS as $APP_UID ) { - $aCase = $oCases->loadCaseInCurrentDelegation($APP_UID); - + foreach ($APP_UIDS as $APP_UID) { + $aCase = $oCases->loadCaseInCurrentDelegation($APP_UID); + $aUsersInvolved = Array(); $aCaseGroups = $oTasks->getGroupsOfTask($aCase['TAS_UID'], 1); - foreach ( $aCaseGroups as $aCaseGroup ) { + foreach ($aCaseGroups as $aCaseGroup) { $aCaseUsers = $oGroups->getUsersOfGroup($aCaseGroup['GRP_UID']); - foreach ( $aCaseUsers as $aCaseUser ) { - if ( $aCaseUser['USR_UID'] != $sReassignFromUser ) { + foreach ($aCaseUsers as $aCaseUser) { + if ($aCaseUser['USR_UID'] != $sReassignFromUser) { $aCaseUserRecord = $oUser->load($aCaseUser['USR_UID']); - $aUsersInvolved[$aCaseUser['USR_UID']] = $aCaseUserRecord['USR_FIRSTNAME'] . ' ' . $aCaseUserRecord['USR_LASTNAME']; // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')'; + $aUsersInvolved[$aCaseUser['USR_UID']] = $aCaseUserRecord['USR_FIRSTNAME'] . ' ' . + $aCaseUserRecord['USR_LASTNAME']; + // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')'; } } } - + $aCaseUsers = $oTasks->getUsersOfTask($aCase['TAS_UID'], 1); - foreach ( $aCaseUsers as $aCaseUser ) { - if ( $aCaseUser['USR_UID'] != $sReassignFromUser ) { + foreach ($aCaseUsers as $aCaseUser) { + if ($aCaseUser['USR_UID'] != $sReassignFromUser) { $aCaseUserRecord = $oUser->load($aCaseUser['USR_UID']); - $aUsersInvolved[$aCaseUser['USR_UID']] = $aCaseUserRecord['USR_FIRSTNAME'] . ' ' . $aCaseUserRecord['USR_LASTNAME']; // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')'; + $aUsersInvolved[$aCaseUser['USR_UID']] = $aCaseUserRecord['USR_FIRSTNAME'] . ' ' . + $aCaseUserRecord['USR_LASTNAME']; + // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')'; } } $oTmp = new stdClass(); @@ -851,7 +918,7 @@ switch(($_POST['action'])?$_POST['action']:$_REQUEST['action']) { $aCase['USERS'] = $oTmp; array_push($aCasesList, $aCase); } - + $filedNames = Array ( "APP_UID", "APP_NUMBER", @@ -859,8 +926,8 @@ switch(($_POST['action'])?$_POST['action']:$_REQUEST['action']) { "DEL_PRIORITY", "DEL_INDEX", "TAS_UID", - "DEL_INIT_DATE", - "DEL_FINISH_DATE", + "DEL_INIT_DATE", + "DEL_FINISH_DATE", "USR_UID", "APP_STATUS", "DEL_TASK_DUE_DATE", @@ -871,130 +938,142 @@ switch(($_POST['action'])?$_POST['action']:$_REQUEST['action']) { "APP_DEL_PREVIOUS_USER", "USERS" ); - + $aCasesList = array_merge(Array($filedNames), $aCasesList); - + global $_DBArray; $_DBArray['reassign_byuser'] = $aCasesList; G::LoadClass('ArrayPeer'); $oCriteria = new Criteria('dbarray'); $oCriteria->setDBArrayTable('reassign_byuser'); $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('propeltable', 'cases/paged-table-reassigByUser2', 'cases/cases_ToReassignByUserList2', $oCriteria); + $G_PUBLISH->AddContent( 'propeltable', 'cases/paged-table-reassigByUser2', + 'cases/cases_ToReassignByUserList2', $oCriteria); G::RenderPage('publish', 'raw'); - - break; - - /* @Author Erik Amaru Ortiz */ - case 'reassignByUser': + break; + /* @Author Erik Amaru Ortiz */ + case 'reassignByUser': G::LoadClass('case'); $oCases = new Cases(); $aCases = Array(); - - if( isset($_POST['items']) && trim($_POST['items']) != '' ){ - $sItems = $_POST['items']; - $aItems = explode(',', $sItems); - $FROM_USR_UID = $_POST['USR_UID']; - - foreach($aItems as $item){ - list($APP_UID, $USR_UID) = explode('|', $item); - $aCase = $oCases->loadCaseInCurrentDelegation($APP_UID); - $oCase->reassignCase($aCase['APP_UID'], $aCase['DEL_INDEX'], $FROM_USR_UID, $USR_UID); - array_push($aCases, $aCase); - } - //G::pr($aCases); - - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $sText = ''; - foreach ($aCases as $aCase) { - $aCaseUpdated = $oCases->loadCaseInCurrentDelegation($aCase['APP_UID']); - $aUser = $oUser->load($aCaseUpdated['USR_UID']); - $sText .= $aCaseUpdated['APP_PRO_TITLE'] .' - '. ' Case: ' . $aCaseUpdated['APP_NUMBER'] . '# (' . $aCaseUpdated['APP_TAS_TITLE'] . ') => Reassigned to => ' . $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ' [' . $aUser['USR_USERNAME'] . ']' . '
'; - } - - $G_PUBLISH = new Publisher; - $aMessage['MESSAGE'] = $sText; - $aMessage['URL'] = 'cases_ReassignByUser?REASSIGN_USER=' . $_POST['USR_UID']; - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_ReassignShowInfo', '', $aMessage); - G::RenderPage('publish', 'raw'); + + if (isset($_POST['items']) && trim($_POST['items']) != '') { + $sItems = $_POST['items']; + $aItems = explode(',', $sItems); + $FROM_USR_UID = $_POST['USR_UID']; + + foreach ($aItems as $item) { + list($APP_UID, $USR_UID) = explode('|', $item); + $aCase = $oCases->loadCaseInCurrentDelegation($APP_UID); + $oCase->reassignCase($aCase['APP_UID'], $aCase['DEL_INDEX'], $FROM_USR_UID, $USR_UID); + array_push($aCases, $aCase); + } + //G::pr($aCases); + + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $sText = ''; + foreach ($aCases as $aCase) { + $aCaseUpdated = $oCases->loadCaseInCurrentDelegation($aCase['APP_UID']); + $aUser = $oUser->load($aCaseUpdated['USR_UID']); + $sText .= $aCaseUpdated['APP_PRO_TITLE'] .' - '. ' Case: ' . $aCaseUpdated['APP_NUMBER'] . '# (' . + $aCaseUpdated['APP_TAS_TITLE'] . ') => Reassigned to => ' . + $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ' [' . $aUser['USR_USERNAME'] . + ']' . '
'; + } + + $G_PUBLISH = new Publisher; + $aMessage['MESSAGE'] = $sText; + $aMessage['URL'] = 'cases_ReassignByUser?REASSIGN_USER=' . $_POST['USR_UID']; + $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_ReassignShowInfo', '', $aMessage); + G::RenderPage('publish', 'raw'); } - break; - case "uploadInputDocument": - //krumo($_POST); - $G_PUBLISH = new Publisher; - $Fields['DOC_UID']=$_POST['docID']; - $Fields['APP_DOC_UID']=$_POST['appDocId']; - $Fields['actionType']=$_POST['actionType']; - $Fields['docVersion']=$_POST['docVersion']; - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_AttachInputDocumentGeneral', '', $Fields, 'cases_SaveDocument?UID=' . $_POST['docID']); - G::RenderPage('publish', 'raw'); - - break; - case "uploadToReviseInputDocument": - //krumo($_POST); - $G_PUBLISH = new Publisher; - $Fields['DOC_UID']=$_POST['docID']; - $Fields['APP_DOC_UID']=$_POST['appDocId']; - $Fields['actionType']=$_POST['actionType']; - $Fields['docVersion']=$_POST['docVersion']; - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_AttachInputDocumentGeneral', '', $Fields, 'cases_SupervisorSaveDocument?UID=' . $_POST['docID'] . '&APP_UID=' . $_POST['appDocId']); - G::RenderPage('publish', 'raw'); - - break; - case "inputDocumentVersionHistory": - //krumo($_POST); - $G_PUBLISH = new Publisher; - $Fields['DOC_UID']=$_POST['docID']; - $Fields['APP_DOC_UID']=$_POST['appDocId']; - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_InputdocsListHistory', $oCase->getInputDocumentsCriteria($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_POST['docID'],$_POST['appDocId']), array());//$aFields - //$G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_AttachInputDocumentGeneral', '', $Fields, 'cases_SaveDocument?UID=' . $_POST['docID']); - G::RenderPage('publish', 'raw'); - - break; - case "getCountCasesFolder": - - $json = new Services_JSON(); - $aTypes = Array('to_do', 'draft', 'cancelled', 'sent', 'paused', 'completed','selfservice','to_revise','to_reassign'); - $aTypesID = Array('to_do'=>'CASES_INBOX', 'draft'=>'CASES_DRAFT', 'cancelled'=>'CASES_CANCELLED', 'sent'=>'CASES_SENT', 'paused'=>'CASES_PAUSED', 'completed'=>'CASES_COMPLETED','selfservice'=>'CASES_SELFSERVICE','to_revise'=>'CASES_TO_REVISE','to_reassign'=>'CASES_TO_REASSIGN'); - - if(!isset($_POST['A'])){ - $oCases = new Cases(); - $aCount = $oCases->getAllConditionCasesCount($aTypes, true); - echo $json->encode($aCount); - }else{ - echo $json->encode($aTypesID); - } - break; - case "previusJump": - require_once 'classes/model/Application.php'; - - $oCriteria = new Criteria('workflow'); - $response = array( "success" => true ); + break; + case "uploadInputDocument": + //krumo($_POST); + $G_PUBLISH = new Publisher; + $Fields['DOC_UID']=$_POST['docID']; + $Fields['APP_DOC_UID']=$_POST['appDocId']; + $Fields['actionType']=$_POST['actionType']; + $Fields['docVersion']=$_POST['docVersion']; + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_AttachInputDocumentGeneral', '', + $Fields, 'cases_SaveDocument?UID=' . $_POST['docID']); + G::RenderPage('publish', 'raw'); + break; + case "uploadToReviseInputDocument": + //krumo($_POST); + $G_PUBLISH = new Publisher; + $Fields['DOC_UID']=$_POST['docID']; + $Fields['APP_DOC_UID']=$_POST['appDocId']; + $Fields['actionType']=$_POST['actionType']; + $Fields['docVersion']=$_POST['docVersion']; + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_AttachInputDocumentGeneral', '', + $Fields, 'cases_SupervisorSaveDocument?UID=' . $_POST['docID'] . + '&APP_UID=' . $_POST['appDocId']); + G::RenderPage('publish', 'raw'); + break; + case "inputDocumentVersionHistory": + //krumo($_POST); + $G_PUBLISH = new Publisher; + $Fields['DOC_UID']=$_POST['docID']; + $Fields['APP_DOC_UID']=$_POST['appDocId']; + $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'cases/cases_InputdocsListHistory', + $oCase->getInputDocumentsCriteria( $_SESSION['APPLICATION'], + $_SESSION['INDEX'], + $_POST['docID'], + $_POST['appDocId']), + array());//$aFields + //$G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_AttachInputDocumentGeneral', + // '', $Fields, 'cases_SaveDocument?UID=' . $_POST['docID']); + G::RenderPage('publish', 'raw'); + break; + case "getCountCasesFolder": + $json = new Services_JSON(); + $aTypes = Array('to_do', 'draft', 'cancelled', 'sent', 'paused', 'completed','selfservice', + 'to_revise','to_reassign'); + $aTypesID = Array('to_do'=>'CASES_INBOX', 'draft'=>'CASES_DRAFT', 'cancelled'=>'CASES_CANCELLED', + 'sent'=>'CASES_SENT', 'paused'=>'CASES_PAUSED', 'completed'=>'CASES_COMPLETED', + 'selfservice'=>'CASES_SELFSERVICE','to_revise'=>'CASES_TO_REVISE', + 'to_reassign'=>'CASES_TO_REASSIGN'); - $oCriteria->add(ApplicationPeer::APP_NUMBER, $_POST['appNumber']); - $oDataset = ApplicationPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - $aApplication = $oDataset->getRow(); + if (!isset($_POST['A'])) { + $oCases = new Cases(); + $aCount = $oCases->getAllConditionCasesCount($aTypes, true); + echo $json->encode($aCount); + } else { + echo $json->encode($aTypesID); + } + break; + case "previusJump": + require_once 'classes/model/Application.php'; - if (is_array($aApplication)) { - $response['exists'] = true; - } else { - $response['exists'] = false; - } - - echo G::json_encode($response); - break; + $oCriteria = new Criteria('workflow'); + $response = array( "success" => true ); - - - default: - echo 'default'; + $oCriteria->add(ApplicationPeer::APP_NUMBER, $_POST['appNumber']); + $oDataset = ApplicationPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + $aApplication = $oDataset->getRow(); + + if (is_array($aApplication)) { + $response['exists'] = true; + } else { + $response['exists'] = false; + } + + echo G::json_encode($response); + break; + default: + echo 'default'; } -function getCasesTypeIDs(){ - $aTypes = Array('to_do', 'draft', 'cancelled', 'sent', 'paused', 'completed','selfservice','to_revise','to_reassign'); - return $aTypesID; + +function getCasesTypeIds() +{ + $aTypes = Array('to_do', 'draft', 'cancelled', 'sent', 'paused', 'completed','selfservice', + 'to_revise','to_reassign'); + return $aTypesID; } +