diff --git a/workflow/engine/methods/cases/caseHistory_Ajax.php b/workflow/engine/methods/cases/caseHistory_Ajax.php index 1638b9601..feded6eff 100644 --- a/workflow/engine/methods/cases/caseHistory_Ajax.php +++ b/workflow/engine/methods/cases/caseHistory_Ajax.php @@ -26,32 +26,38 @@ $actionAjax = isset( $_REQUEST['actionAjax'] ) ? $_REQUEST['actionAjax'] : null; if ($actionAjax == 'historyGridList_JXP') { - G::LoadClass( 'case' ); - G::LoadClass( "BasePeer" ); + G::LoadClass('case'); + G::LoadClass("BasePeer"); global $G_PUBLISH; - $c = Cases::getTransferHistoryCriteria( $_SESSION['APPLICATION'] ); + $criteria = Cases::getTransferHistoryCriteria($_SESSION['APPLICATION']); + $rs = GulliverBasePeer::doSelectRs($criteria); + $totalCount = $rs->getRecordCount(); + + $start = $_REQUEST["start"]; + $limit = $_REQUEST["limit"]; + + $criteria->setLimit($limit); + $criteria->setOffset($start); + + $rs = GulliverBasePeer::doSelectRs($criteria); + $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result = new stdClass(); - $aProcesses = Array (); - - $rs = GulliverBasePeer::doSelectRs( $c ); - $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $rs->next(); - for ($j = 0; $j < $rs->getRecordCount(); $j ++) { + $aProcesses = Array(); + while ($rs->next()) { $result = $rs->getRow(); $result["ID_HISTORY"] = $result["PRO_UID"] . '_' . $result["APP_UID"] . '_' . $result["TAS_UID"]; $aProcesses[] = $result; - $rs->next(); } $newDir = '/tmp/test/directory'; - G::verifyPath( $newDir ); + G::verifyPath($newDir); $r = new stdclass(); $r->data = \ProcessMaker\Util\DateTime::convertUtcToTimeZone($aProcesses); - $r->totalCount = 2; + $r->totalCount = $totalCount; - echo G::json_encode( $r ); + echo G::json_encode($r); } if ($actionAjax == 'historyGridListChangeLogPanelBody_JXP') { diff --git a/workflow/engine/methods/cases/cases_Ajax.php b/workflow/engine/methods/cases/cases_Ajax.php index a90b02548..2fc375013 100644 --- a/workflow/engine/methods/cases/cases_Ajax.php +++ b/workflow/engine/methods/cases/cases_Ajax.php @@ -548,46 +548,49 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) { G::RenderPage( 'publish', 'raw' ); break; case 'uploadDocumentGrid_Ajax': - G::LoadClass( 'case' ); - G::LoadClass( "BasePeer" ); + G::LoadClass('case'); + G::LoadClass("BasePeer"); global $G_PUBLISH; $arrayToTranslation = array( - "INPUT" => G::LoadTranslation("ID_INPUT_DB"), - "OUTPUT" => G::LoadTranslation("ID_OUTPUT_DB"), + "INPUT" => G::LoadTranslation("ID_INPUT_DB"), + "OUTPUT" => G::LoadTranslation("ID_OUTPUT_DB"), "ATTACHED" => G::LoadTranslation("ID_ATTACHED_DB") ); $oCase = new Cases(); - $aProcesses = Array (); + $aProcesses = Array(); $G_PUBLISH = new Publisher(); - $c = $oCase->getAllUploadedDocumentsCriteria( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], - $_SESSION['CURRENT_TASK'], $_SESSION['USER_LOGGED'], $_SESSION['INDEX']); - - if ($c->getDbName() == 'dbarray') { - $rs = ArrayBasePeer::doSelectRs( $c ); + $criteria = $oCase->getAllUploadedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['CURRENT_TASK'], $_SESSION['USER_LOGGED'], $_SESSION['INDEX']); + if ($criteria->getDbName() == 'dbarray') { + $rs = ArrayBasePeer::doSelectRs($criteria); } else { - $rs = GulliverBasePeer::doSelectRs( $c ); + $rs = GulliverBasePeer::doSelectRs($criteria); } + $totalCount = $rs->getRecordCount(); - $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $rs->next(); + $start = $_REQUEST["start"]; + $limit = $_REQUEST["limit"]; - $totalCount = 0; - - for ($j = 0; $j < $rs->getRecordCount(); $j ++) { + $criteria->setLimit($limit); + $criteria->setOffset($start); + if ($criteria->getDbName() == 'dbarray') { + $rs = ArrayBasePeer::doSelectRs($criteria); + } else { + $rs = GulliverBasePeer::doSelectRs($criteria); + } + $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); + while ($rs->next()) { $result = $rs->getRow(); - $result["TYPE"] = (array_key_exists($result["TYPE"], $arrayToTranslation))? $arrayToTranslation[$result["TYPE"]] : $result["TYPE"]; + $result["TYPE"] = (array_key_exists($result["TYPE"], $arrayToTranslation)) ? $arrayToTranslation[$result["TYPE"]] : $result["TYPE"]; $aProcesses[] = $result; - $rs->next(); - $totalCount ++; } $r = new stdclass(); $r->data = $aProcesses; $r->totalCount = $totalCount; - echo Bootstrap::json_encode( $r ); + echo Bootstrap::json_encode($r); break; case 'generateDocumentGrid_Ajax': diff --git a/workflow/engine/templates/cases/caseHistory.js b/workflow/engine/templates/cases/caseHistory.js index d8d0596ab..05e77da55 100644 --- a/workflow/engine/templates/cases/caseHistory.js +++ b/workflow/engine/templates/cases/caseHistory.js @@ -241,7 +241,7 @@ return actionTranslate; }; - + var pageSize = 15; processesGrid = new Ext.grid.GridPanel({ region: 'center', layout: 'fit', @@ -293,7 +293,7 @@ } ], bbar: new Ext.PagingToolbar({ - pageSize: 15, + pageSize: pageSize, store: store, displayInfo: true, displayMsg: _('ID_DISPLAY_PROCESSES'), @@ -312,7 +312,7 @@ } }); - processesGrid.store.load({params: {"function":"languagesList"}}); + processesGrid.store.load({params: {"function":"languagesList", "start": 0, "limit": pageSize}}); processesGrid.store.on( 'load', diff --git a/workflow/engine/templates/cases/casesUploadedDocumentsPage.js b/workflow/engine/templates/cases/casesUploadedDocumentsPage.js index 136a31057..f1581980c 100644 --- a/workflow/engine/templates/cases/casesUploadedDocumentsPage.js +++ b/workflow/engine/templates/cases/casesUploadedDocumentsPage.js @@ -373,6 +373,7 @@ } return actionTranslate; }; + var pageSize = 25; var processesGrid = new Ext.grid.GridPanel({ region: 'center', layout: 'fit', @@ -487,7 +488,7 @@ } ], bbar: new Ext.PagingToolbar({ - pageSize: 10, + pageSize: pageSize, store: store, displayInfo: true, displayMsg: _('ID_DISPLAY_PROCESSES'), @@ -515,7 +516,7 @@ } } }); - processesGrid.store.load({params: {"function":"languagesList"}}); + processesGrid.store.load({params: {"function": "languagesList", "start": 0, "limit": pageSize}}); processesGrid.store.on( 'load',