16 import(
'lib.pkp.classes.controllers.grid.GridHandler');
18 import(
'controllers.grid.subscriptions.SubscriptionTypesGridCellProvider');
19 import(
'controllers.grid.subscriptions.SubscriptionTypesGridRow');
20 import(
'controllers.grid.subscriptions.SubscriptionTypeForm');
28 parent::__construct();
30 ROLE_ID_MANAGER, ROLE_ID_SUBSCRIPTION_MANAGER),
31 array(
'fetchGrid',
'fetchRow',
'editSubscriptionType',
'updateSubscriptionType',
32 'deleteSubscriptionType',
'addSubscriptionType')
43 function authorize($request, &$args, $roleAssignments) {
44 import(
'lib.pkp.classes.security.authorization.ContextAccessPolicy');
46 return parent::authorize($request, $args, $roleAssignments);
53 parent::initialize($request, $args);
57 LOCALE_COMPONENT_APP_MANAGER
61 $this->
setTitle(
'subscriptionManager.subscriptionTypes');
64 $router = $request->getRouter();
66 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
69 'addSubscriptionType',
71 $router->url($request,
null,
null,
'addSubscriptionType',
null,
null),
72 __(
'manager.subscriptionTypes.create'),
73 'modal_add_subscription_type',
76 __(
'manager.subscriptionTypes.create'),
77 'add_subscription_type')
97 'manager.subscriptionTypes.subscriptions',
106 'manager.subscriptionTypes.duration',
115 'manager.subscriptionTypes.cost',
139 import(
'lib.pkp.classes.controllers.grid.feature.PagingFeature');
148 $journal = $request->getContext();
152 return $subscriptionTypeDao->getByJournalId($journal->getId());
177 $subscriptionTypeForm =
new SubscriptionTypeForm($request->getJournal()->getId(), $request->getUserVar(
'rowId'));
178 $subscriptionTypeForm->initData();
179 return new JSONMessage(
true, $subscriptionTypeForm->fetch($request));
189 $subscriptionTypeId = (int) $request->getUserVar(
'typeId');
191 $subscriptionTypeForm =
new SubscriptionTypeForm($request->getJournal()->getId(), $subscriptionTypeId);
192 $subscriptionTypeForm->readInputData();
194 if ($subscriptionTypeForm->validate()) {
195 $subscriptionTypeForm->execute();
197 $notificationManager->createTrivialNotification($request->getUser()->getId(), NOTIFICATION_TYPE_SUCCESS);
212 if (!$request->checkCSRF())
return new JSONMessage(
false);
214 $context = $request->getContext();
215 $user = $request->getUser();
218 $subscriptionTypeId = $request->getUserVar(
'rowId');
220 $subscriptionTypeDao->deleteById($subscriptionTypeId, $context->getId());