16 import(
'lib.pkp.classes.controllers.grid.GridHandler');
17 import(
'lib.pkp.controllers.grid.admin.context.ContextGridRow');
24 parent::__construct();
27 array(
'fetchGrid',
'fetchRow',
'createContext',
'editContext',
'updateContext',
'users',
28 'deleteContext',
'saveSequence')
39 function authorize($request, &$args, $roleAssignments) {
40 import(
'lib.pkp.classes.security.authorization.PolicySet');
41 $rolePolicy =
new PolicySet(COMBINING_PERMIT_OVERRIDES);
43 import(
'lib.pkp.classes.security.authorization.RoleBasedHandlerOperationPolicy');
44 foreach($roleAssignments as $role => $operations) {
49 return parent::authorize($request, $args, $roleAssignments);
56 parent::initialize($request, $args);
60 LOCALE_COMPONENT_PKP_USER,
61 LOCALE_COMPONENT_APP_MANAGER,
62 LOCALE_COMPONENT_PKP_MANAGER,
63 LOCALE_COMPONENT_PKP_ADMIN,
64 LOCALE_COMPONENT_APP_ADMIN
70 $router = $request->getRouter();
72 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
77 $router->url($request,
null,
null,
'createContext',
null,
null),
78 __(
'admin.contexts.create'),
84 __(
'admin.contexts.create'),
92 import(
'lib.pkp.controllers.grid.admin.context.ContextGridCellProvider');
102 $contextGridCellProvider
113 $contextGridCellProvider
133 protected function loadData($request, $filter =
null) {
136 $contexts = $contextDao->getAll();
138 return $contexts->toAssociativeArray();
146 $gridDataElement->setSequence($newSequence);
147 $contextDao->updateObject($gridDataElement);
154 return $gridDataElement->getSequence();
161 import(
'lib.pkp.classes.controllers.grid.feature.OrderGridItemsFeature');
171 return array(
'updateHeader');
195 import(
'classes.core.Services');
199 if ($request->getUserVar(
'rowId')) {
200 $context = $contextService->get((
int) $request->getUserVar(
'rowId'));
206 $dispatcher = $request->getDispatcher();
208 $apiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(),
'contexts/' . $context->getId());
209 $supportedLocales = $context->getSupportedFormLocales();
211 $apiUrl = $dispatcher->url($request, ROUTE_API, CONTEXT_ID_ALL,
'contexts');
212 $supportedLocales = $request->getSite()->getSupportedLocales();
216 $locales = array_map(
function($localeKey) use ($localeNames) {
217 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
218 }, $supportedLocales);
220 $contextForm = new \APP\components\forms\context\ContextForm($apiUrl, $locales, $request->getBaseUrl(), $context);
221 $contextFormConfig = $contextForm->getConfig();
226 $contextFormConfig[
'editContextUrl'] = $request->getDispatcher()->url($request, ROUTE_PAGE,
'index',
'admin',
'wizard',
'__id__');
231 FORM_CONTEXT => $contextFormConfig,
236 $templateMgr->assign([
237 'containerData' => $containerData,
238 'isAddingNewContext' => !$context,
241 return new JSONMessage(
true, $templateMgr->fetch(
'admin/editContext.tpl'));
252 if (!$request->checkCSRF()) {
256 import(
'classes.core.Services');
259 $context = $contextService->get((
int) $request->getUserVar(
'rowId'));
265 $contextService->delete($context);
278 $templateMgr->assign(
'oldUserId', (
int) $request->getUserVar(
'oldUserId'));
279 parent::setupTemplate($request);
280 return $templateMgr->fetchJson(
'management/accessUsers.tpl');