16 import(
'lib.pkp.classes.controllers.grid.GridHandler');
17 import(
'lib.pkp.classes.controllers.grid.DataObjectGridCellProvider');
18 import(
'lib.pkp.classes.linkAction.request.RedirectConfirmationModal');
28 parent::__construct();
31 array(
'fetchGrid',
'fetchRow')
42 function authorize($request, &$args, $roleAssignments) {
43 import(
'lib.pkp.classes.security.authorization.ContextAccessPolicy');
45 return parent::authorize($request, $args, $roleAssignments);
52 parent::initialize($request, $args);
56 LOCALE_COMPONENT_PKP_USER,
57 LOCALE_COMPONENT_PKP_MANAGER,
58 LOCALE_COMPONENT_APP_MANAGER
62 $this->
setTitle(
'grid.user.currentUsers');
65 $router = $request->getRouter();
66 $pluginName = $request->getUserVar(
'pluginName');
67 assert(!empty($pluginName));
68 $this->_pluginName = $pluginName;
70 $dispatcher = $request->getDispatcher();
71 $url = $dispatcher->url($request, ROUTE_PAGE,
null,
'management',
'importexport', array(
'plugin', $pluginName,
'exportAllUsers'));
77 __(
'grid.users.confirmExportAllUsers'),
81 __(
'grid.action.exportAllUsers'),
147 import(
'lib.pkp.classes.controllers.grid.feature.selectableItems.SelectableItemsFeature');
148 import(
'lib.pkp.classes.controllers.grid.feature.PagingFeature');
156 return 'selectedUsers';
176 $context = $request->getContext();
182 return $users = $userGroupDao->getUsersById(
183 $filter[
'userGroup'],
185 $filter[
'searchField'],
186 $filter[
'search']?$filter[
'search']:
null,
187 $filter[
'searchMatch'],
196 $context = $request->getContext();
198 $userGroups = $userGroupDao->getByContextId($context->getId());
199 $userGroupOptions = array(
'' => __(
'grid.user.allRoles'));
200 while ($userGroup = $userGroups->next()) {
201 $userGroupOptions[$userGroup->getId()] = $userGroup->getLocalizedName();
205 import(
'lib.pkp.classes.user.UserDAO');
206 $fieldOptions = array(
207 IDENTITY_SETTING_GIVENNAME =>
'user.givenName',
208 IDENTITY_SETTING_FAMILYNAME =>
'user.familyName',
209 USER_FIELD_USERNAME =>
'user.username',
210 USER_FIELD_EMAIL =>
'user.email'
213 $matchOptions = array(
214 'contains' =>
'form.contains',
219 'userGroupOptions' => $userGroupOptions,
220 'fieldOptions' => $fieldOptions,
221 'matchOptions' => $matchOptions
224 return parent::renderFilter($request, $filterData);
233 $userGroup = $request->getUserVar(
'userGroup') ? (int)$request->getUserVar(
'userGroup') :
null;
234 $searchField = $request->getUserVar(
'searchField');
235 $searchMatch = $request->getUserVar(
'searchMatch');
236 $search = $request->getUserVar(
'search');
238 return $filterSelectionData = array(
239 'userGroup' => $userGroup,
240 'searchField' => $searchField,
241 'searchMatch' => $searchMatch,
242 'search' => $search ? $search :
''
251 return 'controllers/grid/users/exportableUsers/userGridFilter.tpl';
258 return array_merge(parent::getRequestArgs(), array(
'pluginName' => $this->
_getPluginName()));