16 import(
'lib.pkp.classes.controllers.grid.GridHandler');
17 import(
'lib.pkp.controllers.grid.users.userSelect.UserSelectGridCellProvider');
27 parent::__construct();
29 array(ROLE_ID_MANAGER, ROLE_ID_SUBSCRIPTION_MANAGER),
30 array(
'fetchGrid',
'fetchRows')
40 function authorize($request, &$args, $roleAssignments) {
41 import(
'lib.pkp.classes.security.authorization.ContextAccessPolicy');
43 return parent::authorize($request, $args, $roleAssignments);
50 parent::initialize($request, $args);
53 LOCALE_COMPONENT_PKP_SUBMISSION,
54 LOCALE_COMPONENT_PKP_MANAGER,
55 LOCALE_COMPONENT_PKP_USER,
56 LOCALE_COMPONENT_PKP_EDITOR,
57 LOCALE_COMPONENT_APP_EDITOR
62 $userGroups = $userGroupDao->getUserGroupsByStage(
63 $request->getContext()->getId(),
66 $this->_userGroupOptions = array();
67 while ($userGroup = $userGroups->next()) {
68 $this->_userGroupOptions[$userGroup->getId()] = $userGroup->getLocalizedName();
71 $this->
setTitle(
'editor.submission.findAndSelectUser');
80 'controllers/grid/users/userSelect/userSelectRadioButton.tpl',
88 'author.users.contributor.name',
92 array(
'alignment' => COLUMN_ALIGNMENT_LEFT,
107 import(
'lib.pkp.classes.controllers.grid.feature.InfiniteScrollingFeature');
108 import(
'lib.pkp.classes.controllers.grid.feature.CollapsibleGridFeature');
115 protected function loadData($request, $filter) {
117 return $users = $userGroupDao->getUsersById(
118 $filter[
'userGroup'],
119 $request->getContext()->getId(),
120 $filter[
'searchField'],
121 $filter[
'search']?$filter[
'search']:
null,
122 $filter[
'searchMatch'],
123 $this->getGridRangeInfo($request, $this->getId())
130 function renderFilter($request, $filterData = array()) {
131 $context = $request->getContext();
133 $userGroups = $userGroupDao->getByContextId($context->getId());
134 $userGroupOptions = array(
'' => __(
'grid.user.allRoles'));
135 while ($userGroup = $userGroups->next()) {
136 $userGroupOptions[$userGroup->getId()] = $userGroup->getLocalizedName();
139 return parent::renderFilter(
142 'userGroupOptions' => $userGroupOptions,
154 if (($userId = $request->getUserVar(
'userId')) && !$request->getUserVar(
'clientSubmit')) {
156 $user = $userDao->getById($userId);
159 'searchField' => USER_FIELD_USERNAME,
160 'searchMatch' =>
'is',
161 'search' => $user->getUsername(),
166 'userGroup' => $request->getUserVar(
'userGroup') ? (
int)$request->getUserVar(
'userGroup') :
null,
167 'searchField' => $request->getUserVar(
'searchField'),
168 'searchMatch' => $request->getUserVar(
'searchMatch'),
169 'search' => (
string) $request->getUserVar(
'search'),
178 return 'controllers/grid/users/exportableUsers/userGridFilter.tpl';
202 return array_merge(parent::getRequestArgs(), array(
203 'userId' => $request->getUserVar(
'userId'),