BUG-15020 Pagination toolbar is not refreshing when when... SOLVED

- The search was done locally.
- the criteria was added in order to make the search by filename and user.
This commit is contained in:
Marco Antonio Nina
2014-05-23 10:53:38 -04:00
parent b5e9beefa2
commit bc3a75c852
3 changed files with 89 additions and 15 deletions

View File

@@ -185,7 +185,7 @@ class AppFolder extends BaseAppFolder
* @param string(32) $folderID * @param string(32) $folderID
* @return multitype: * @return multitype:
*/ */
public function getFolderList ($folderID, $limit = 0, $start = 0) public function getFolderList ($folderID, $limit = 0, $start = 0, $direction = 'ASC', $sort = "appDocCreateDate", $search = null)
{ {
$Criteria = new Criteria( 'workflow' ); $Criteria = new Criteria( 'workflow' );
$Criteria->clearSelectColumns()->clearOrderByColumns(); $Criteria->clearSelectColumns()->clearOrderByColumns();
@@ -195,7 +195,29 @@ class AppFolder extends BaseAppFolder
$Criteria->addSelectColumn( AppFolderPeer::FOLDER_CREATE_DATE ); $Criteria->addSelectColumn( AppFolderPeer::FOLDER_CREATE_DATE );
$Criteria->addSelectColumn( AppFolderPeer::FOLDER_UPDATE_DATE ); $Criteria->addSelectColumn( AppFolderPeer::FOLDER_UPDATE_DATE );
$Criteria->add( appFolderPeer::FOLDER_PARENT_UID, $folderID, CRITERIA::EQUAL ); $Criteria->add( appFolderPeer::FOLDER_PARENT_UID, $folderID, CRITERIA::EQUAL );
$Criteria->addAscendingOrderByColumn( AppFolderPeer::FOLDER_NAME );
if ($search) {
$Criteria->add(
$Criteria->getNewCriterion( AppFolderPeer::FOLDER_NAME, '%' . $search . '%', Criteria::LIKE )
);
}
switch($sort) {
case 'appDocCreateDate' :
$ColumnSort = AppFolderPeer::FOLDER_CREATE_DATE;
break;
case 'name' :
$ColumnSort = AppFolderPeer::FOLDER_NAME;
break;
default:
break;
}
if($direction == 'ASC') {
$Criteria->addAscendingOrderByColumn( $ColumnSort );
} else {
$Criteria->addDescendingOrderByColumn( $ColumnSort );
}
$response['folders'] = array (); $response['folders'] = array ();
@@ -264,7 +286,7 @@ class AppFolder extends BaseAppFolder
return $folderArray; return $folderArray;
} }
public function getFolderContent ($folderID, $docIdFilter = array(), $keyword = null, $searchType = null, $limit = 0, $start = 0, $user = '', $onlyActive = false) public function getFolderContent ($folderID, $docIdFilter = array(), $keyword = null, $searchType = null, $limit = 0, $start = 0, $user = '', $onlyActive = false, $search = null)
{ {
//require_once ("classes/model/AppDocument.php"); //require_once ("classes/model/AppDocument.php");
//require_once ("classes/model/InputDocument.php"); //require_once ("classes/model/InputDocument.php");
@@ -278,6 +300,21 @@ class AppFolder extends BaseAppFolder
$oAppDocument = new AppDocument(); $oAppDocument = new AppDocument();
$oCriteria = new Criteria(); $oCriteria = new Criteria();
$oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_UID);
$oCriteria->addSelectColumn( AppDocumentPeer::DOC_VERSION);
$oCriteria->addSelectColumn( AppDocumentPeer::APP_UID);
$oCriteria->addSelectColumn( AppDocumentPeer::DEL_INDEX);
$oCriteria->addSelectColumn( AppDocumentPeer::DOC_UID);
$oCriteria->addSelectColumn( AppDocumentPeer::USR_UID);
$oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_TYPE);
$oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_CREATE_DATE);
$oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_INDEX);
$oCriteria->addSelectColumn( AppDocumentPeer::FOLDER_UID);
$oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_PLUGIN);
$oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_TAGS);
$oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_STATUS);
$oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_STATUS_DATE);
$oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_FIELDNAME);
if ((is_array( $docIdFilter )) && (count( $docIdFilter ) > 0)) { if ((is_array( $docIdFilter )) && (count( $docIdFilter ) > 0)) {
//Search by App Doc UID no matter what Folder it is //Search by App Doc UID no matter what Folder it is
@@ -321,6 +358,24 @@ class AppFolder extends BaseAppFolder
$oCriteria->add( AppDocumentPeer::APP_DOC_STATUS, 'ACTIVE' ); $oCriteria->add( AppDocumentPeer::APP_DOC_STATUS, 'ACTIVE' );
} }
$oCriteria->addSelectColumn( ContentPeer::CON_VALUE . ' AS NAME');
$oCriteria->add( ContentPeer::CON_CATEGORY, "APP_DOC_FILENAME");
$oCriteria->add( ContentPeer::CON_LANG, SYS_LANG);
$oCriteria->addJoin( AppDocumentPeer::APP_DOC_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN );
$oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME);
$oCriteria->addJoin( AppDocumentPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN );
if ($search) {
$oCriteria->add(
$oCriteria->getNewCriterion( ContentPeer::CON_VALUE, '%' . $search . '%', Criteria::LIKE )->
addOr( $oCriteria->getNewCriterion( AppDocumentPeer::APP_DOC_CREATE_DATE, '%' . $search . '%', Criteria::LIKE )->
addOr( $oCriteria->getNewCriterion( UsersPeer::USR_FIRSTNAME, '%' . $search . '%', Criteria::LIKE )->
addOr( $oCriteria->getNewCriterion( UsersPeer::USR_LASTNAME, '%' . $search . '%', Criteria::LIKE ))))
);
}
$numRecTotal = AppDocumentPeer::doCount($oCriteria); $numRecTotal = AppDocumentPeer::doCount($oCriteria);
/* /*
@@ -388,7 +443,7 @@ class AppFolder extends BaseAppFolder
return $response; return $response;
} }
public function getDirectoryContentSortedBy ($folderID, $docIdFilter = array(), $keyword = null, $searchType = null, $limit = 0, $start = 0, $user = '', $onlyActive = false, $direction = 'ASC', $ColumnSort = 'appDocCreateDate') public function getDirectoryContentSortedBy ($folderID, $docIdFilter = array(), $keyword = null, $searchType = null, $limit = 0, $start = 0, $user = '', $onlyActive = false, $direction = 'ASC', $ColumnSort = 'appDocCreateDate', $search = null)
{ {
G::LoadClass( 'case' ); G::LoadClass( 'case' );
$oCase = new Cases(); $oCase = new Cases();
@@ -461,6 +516,19 @@ class AppFolder extends BaseAppFolder
$oCriteria->add( ContentPeer::CON_LANG, SYS_LANG); $oCriteria->add( ContentPeer::CON_LANG, SYS_LANG);
$oCriteria->addJoin( AppDocumentPeer::APP_DOC_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN ); $oCriteria->addJoin( AppDocumentPeer::APP_DOC_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN );
$oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME);
$oCriteria->addJoin( AppDocumentPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN );
if ($search) {
$oCriteria->add(
$oCriteria->getNewCriterion( ContentPeer::CON_VALUE, '%' . $search . '%', Criteria::LIKE )->
addOr( $oCriteria->getNewCriterion( AppDocumentPeer::APP_DOC_CREATE_DATE, '%' . $search . '%', Criteria::LIKE )->
addOr( $oCriteria->getNewCriterion( UsersPeer::USR_FIRSTNAME, '%' . $search . '%', Criteria::LIKE )->
addOr( $oCriteria->getNewCriterion( UsersPeer::USR_LASTNAME, '%' . $search . '%', Criteria::LIKE ))))
);
}
$numRecTotal = AppDocumentPeer::doCount($oCriteria); $numRecTotal = AppDocumentPeer::doCount($oCriteria);
$oCase->verifyTable(); $oCase->verifyTable();

View File

@@ -7,6 +7,8 @@ if (! isset ($_SESSION ['USER_LOGGED'])) {
die (); die ();
} }
$search = isset($_REQUEST ['search']) ? $_REQUEST ['search'] : null;
if (isset ($_REQUEST ['action']) && isset($_REQUEST['sort']) && isset($_REQUEST['dir'])) { if (isset ($_REQUEST ['action']) && isset($_REQUEST['sort']) && isset($_REQUEST['dir'])) {
sortContent(); sortContent();
} }
@@ -198,7 +200,8 @@ function expandNode()
$limit, $limit,
$start, $start,
$user, $user,
true true,
$search
); );
$folderContent=$folderContentObj['documents']; $folderContent=$folderContentObj['documents'];
@@ -499,7 +502,10 @@ function sortContent()
$folderListObj = $oPMFolder->getFolderList( $folderListObj = $oPMFolder->getFolderList(
($_POST["node"] != "root")? (($_POST["node"] == "NA")? "" : $_POST["node"]) : $rootFolder, ($_POST["node"] != "root")? (($_POST["node"] == "NA")? "" : $_POST["node"]) : $rootFolder,
$limit, $limit,
$start $start,
$direction,
(isset($_POST["sort"]))? $_POST["sort"]:"appDocCreateDate",
$search
); );
$folderList=$folderListObj['folders']; $folderList=$folderListObj['folders'];
@@ -522,7 +528,8 @@ function sortContent()
$user, $user,
true, true,
$direction, $direction,
(isset($_POST["sort"]))? $_POST["sort"]:"appDocCreateDate" (isset($_POST["sort"]))? $_POST["sort"]:"appDocCreateDate",
$search
); );
$folderContent = $folderContentObj['documents']; $folderContent = $folderContentObj['documents'];

View File

@@ -1153,17 +1153,16 @@ var gridtb = new Ext.Toolbar(
handler : function() { handler : function() {
datastore.clearFilter(); datastore.clearFilter();
Ext.getCmp("filterField").setValue(""); Ext.getCmp("filterField").setValue("");
datastore.setBaseParam( 'search', '');
datastore.load({params:{ start : 0 , limit : 100 }});
} }
}) })
]); ]);
function filterDataStore(btn, e) { function filterDataStore(btn, e) {
var filterVal = Ext.getCmp("filterField").getValue(); var filterVal = Ext.getCmp("filterField").getValue();
if (filterVal.length > 1) { datastore.setBaseParam( 'search', filterVal);
datastore.filter('name', eval('/' + filterVal + '/gi')); datastore.load({params:{ start : 0 , limit : 100 }});
} else {
datastore.clearFilter();
}
} }
// add a paging toolbar to the grid's footer // add a paging toolbar to the grid's footer
var gridbb = new Ext.PagingToolbar({ var gridbb = new Ext.PagingToolbar({