Open Journal Systems  3.3.0
CriticalTimesIssueTocHandler.inc.php
1 <?php
12 import('lib.pkp.classes.handler.PKPHandler');
13 
20  public $_plugin;
21 
25  function __construct() {
26  parent::__construct();
27  $this->addRoleAssignment(
28  array(ROLE_ID_MANAGER),
29  array('saveToc')
30  );
31  }
32 
33 
34  //
35  // Implement template methods from PKPHandler
36  //
40  function authorize($request, &$args, $roleAssignments) {
41  import('lib.pkp.classes.security.authorization.ContextAccessPolicy');
42  $this->addPolicy(new ContextAccessPolicy($request, $roleAssignments));
43 
44  // Require a valid issue ID
45  if ($request->getUserVar('issueId')) {
46  // PKPComponentRouter only looks for the parameter in $args, not in the
47  // request user vars. This is just a little hack to add the user var to
48  // the $args so it can place the issue in the authorized objects
49  $args['issueId'] = $request->getUserVar('issueId');
50  import('classes.security.authorization.OjsIssueRequiredPolicy');
51  $this->addPolicy(new OjsIssueRequiredPolicy($request, $args));
52  }
53 
54  return parent::authorize($request, $args, $roleAssignments);
55  }
56 
60  function saveToc($args, $request) {
61  $this->_plugin->import('controllers.CriticalTimesIssueTocFormHandler');
62  $issue = $this->getAuthorizedContextObject(ASSOC_TYPE_ISSUE);
63  $issueTocForm = new CriticalTimesIssueTocFormHandler($issue);
64  $issueTocForm->readInputData();
65 
66  if ($issueTocForm->validate($request)) {
67  $issueTocForm->execute($request);
68  $notificationManager = new NotificationManager();
69  $notificationManager->createTrivialNotification($request->getUser()->getId());
70  return DAO::getDataChangedEvent();
71  }
72 
73  return new JSONMessage(true, $issueTocForm->fetch($request));
74  }
75 }
76 
77 ?>
PKPHandler\addRoleAssignment
addRoleAssignment($roleIds, $operations)
Definition: PKPHandler.inc.php:213
ContextAccessPolicy
Class to control access to PKP applications' setup components.
Definition: ContextAccessPolicy.inc.php:17
CriticalTimesIssueTocHandler\saveToc
saveToc($args, $request)
Definition: CriticalTimesIssueTocHandler.inc.php:60
OjsIssueRequiredPolicy
Policy that ensures that the request contains a valid issue.
Definition: OjsIssueRequiredPolicy.inc.php:17
PKPHandler
Definition: PKPHandler.inc.php:17
DAO\getDataChangedEvent
static getDataChangedEvent($elementId=null, $parentElementId=null, $content='')
Definition: DAO.inc.php:647
JSONMessage
Class to represent a JSON (Javascript Object Notation) message.
Definition: JSONMessage.inc.php:18
CriticalTimesIssueTocHandler\__construct
__construct()
Definition: CriticalTimesIssueTocHandler.inc.php:25
PKPHandler\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition: PKPHandler.inc.php:174
CriticalTimesIssueTocHandler\$_plugin
$_plugin
Definition: CriticalTimesIssueTocHandler.inc.php:20
NotificationManager
Definition: NotificationManager.inc.php:19
CriticalTimesIssueTocHandler\authorize
authorize($request, &$args, $roleAssignments)
Definition: CriticalTimesIssueTocHandler.inc.php:40
PKPHandler\addPolicy
addPolicy($authorizationPolicy, $addToTop=false)
Definition: PKPHandler.inc.php:157
CriticalTimesIssueTocFormHandler
Definition: CriticalTimesIssueTocFormHandler.inc.php:13
CriticalTimesIssueTocHandler
Definition: CriticalTimesIssueTocHandler.inc.php:14