public fetchGrid ( $args, $request ) : JSONMessage | ||
$args | array | |
$request | Request | |
return | JSONMessage | JSON object |
function fetchGrid($args, $request)
{
$this->setUrls($request);
// Prepare the template to render the grid.
$templateMgr = TemplateManager::getManager($request);
$templateMgr->assign('grid', $this);
$templateMgr->assign('request', $request);
// Add rendered filter
$renderedFilter = $this->renderFilter($request);
$templateMgr->assign('gridFilterForm', $renderedFilter);
// Add columns.
$this->setFirstDataColumn();
$columns = $this->getColumns();
$templateMgr->assign('columns', $columns);
$this->_fixColumnWidths();
// Do specific actions to fetch this grid.
$this->doSpecificFetchGridActions($args, $request, $templateMgr);
// Assign additional params for the fetchRow and fetchGrid URLs to use.
$templateMgr->assign('gridRequestArgs', $this->getRequestArgs());
$this->callFeaturesHook('fetchGrid', array('grid' => &$this, 'request' => &$request));
// Assign features.
$templateMgr->assign('features', $this->getFeatures());
// Let the view render the grid.
return new JSONMessage(true, $templateMgr->fetch($this->getTemplate()));
}
/** * List all site users based on optional search criteria * @param $args array * @param $request PKPRequest */ function fetchGrid($args, &$request) { // Get the search terms $searchField = $request->getUserVar('searchField'); $searchMatch = $request->getUserVar('searchMatch'); $search = $request->getUserVar('search'); // Get all users for this site that match search criteria $userDao =& DAORegistry::getDAO('UserDAO'); $rangeInfo = $this->getRangeInfo('users'); $users =& $userDao->getUsersByField($searchField, $searchMatch, $search, true, $rangeInfo); $rowData = array(); while ($user =& $users->next()) { $rowData[$user->getId()] = $user; } $this->setData($rowData); return GridHandler::fetchGrid($args, $request); }