16 import(
'classes.handler.Handler');
27 parent::__construct();
29 array(ROLE_ID_MANAGER, ROLE_ID_SUBSCRIPTION_MANAGER),
30 array(
'index',
'subscriptions',
'subscriptionTypes',
'subscriptionPolicies',
'saveSubscriptionPolicies',
'paymentTypes',
'savePaymentTypes',
'payments')
39 function index($args, $request) {
43 $templateMgr->assign([
44 'pageTitle' => __(
'manager.subscriptions'),
46 $templateMgr->display(
'payments/index.tpl');
52 function authorize($request, &$args, $roleAssignments) {
53 import(
'lib.pkp.classes.security.authorization.PKPSiteAccessPolicy');
55 return parent::authorize($request, $args, $roleAssignments);
65 $dispatcher = $request->getDispatcher();
66 switch (array_shift($args)) {
68 return $templateMgr->fetchAjax(
69 'institutionalSubscriptionsGridContainer',
71 $request, ROUTE_COMPONENT,
null,
72 'grid.subscriptions.InstitutionalSubscriptionsGridHandler',
'fetchGrid'
76 return $templateMgr->fetchAjax(
77 'individualSubscriptionsGridContainer',
79 $request, ROUTE_COMPONENT,
null,
80 'grid.subscriptions.IndividualSubscriptionsGridHandler',
'fetchGrid'
84 $dispatcher->handle404();
94 $dispatcher = $request->getDispatcher();
95 return $templateMgr->fetchAjax(
96 'subscriptionTypesGridContainer',
98 $request, ROUTE_COMPONENT,
null,
99 'grid.subscriptions.SubscriptionTypesGridHandler',
'fetchGrid'
113 import(
'classes.subscription.form.SubscriptionPolicyForm');
118 $templateMgr->assign(
'scheduledTasksEnabled',
true);
122 $templateMgr->assign(
'acceptSubscriptionPayments', $paymentManager->isConfigured());
125 $subscriptionPolicyForm->initData();
126 return new JSONMessage(
true, $subscriptionPolicyForm->fetch($request));
138 import(
'classes.subscription.form.SubscriptionPolicyForm');
140 $subscriptionPolicyForm->readInputData();
141 if ($subscriptionPolicyForm->validate()) {
142 $subscriptionPolicyForm->execute();
144 $user = $request->getUser();
145 $notificationManager->createTrivialNotification($user->getId());
148 return new JSONMessage(
true, $subscriptionPolicyForm->fetch($request));
160 import(
'classes.subscription.form.PaymentTypesForm');
163 $paymentTypesForm->initData();
164 return new JSONMessage(
true, $paymentTypesForm->fetch($request));
176 import(
'classes.subscription.form.PaymentTypesForm');
178 $paymentTypesForm->readInputData();
179 if ($paymentTypesForm->validate()) {
180 $paymentTypesForm->execute();
182 $user = $request->getUser();
183 $notificationManager->createTrivialNotification($user->getId());
186 return new JSONMessage(
true, $paymentTypesForm->fetch($request));
196 $dispatcher = $request->getDispatcher();
197 return $templateMgr->fetchAjax(
198 'paymentsGridContainer',
200 $request, ROUTE_COMPONENT,
null,
201 'grid.subscriptions.PaymentsGridHandler',
'fetchGrid'