Open Journal Systems  3.3.0
EditorDecisionActionsManager.inc.php
1 <?php
2 
16 // Submission stage decision actions.
17 define('SUBMISSION_EDITOR_DECISION_EXTERNAL_REVIEW', 8);
18 
19 // Submission and review stages decision actions.
20 define('SUBMISSION_EDITOR_DECISION_ACCEPT', 1);
21 define('SUBMISSION_EDITOR_DECISION_DECLINE', 4);
22 
23 // Review stage decisions actions.
24 define('SUBMISSION_EDITOR_DECISION_PENDING_REVISIONS', 2);
25 define('SUBMISSION_EDITOR_DECISION_RESUBMIT', 3);
26 define('SUBMISSION_EDITOR_DECISION_NEW_ROUND', 16);
27 
28 // Editorial stage decision actions.
29 define('SUBMISSION_EDITOR_DECISION_SEND_TO_PRODUCTION', 7);
30 
31 import('lib.pkp.classes.workflow.PKPEditorDecisionActionsManager');
32 
34 
42  public function getActionLabels($context, $stageId, $decisions) {
43  $allDecisionsData =
44  $this->_submissionStageDecisions($stageId) +
45  $this->_externalReviewStageDecisions($context) +
46  $this->_editorialStageDecisions();
47 
48  $actionLabels = array();
49  foreach($decisions as $decision) {
50  if ($allDecisionsData[$decision]['title']) {
51  $actionLabels[$decision] = $allDecisionsData[$decision]['title'];
52  } else {
53  assert(false);
54  }
55  }
56 
57  return $actionLabels;
58  }
59 
66  public function getEditorTakenActionInReviewRound($context, $reviewRound, $decisions = array()) {
67  $editDecisionDao = DAORegistry::getDAO('EditDecisionDAO'); /* @var $editDecisionDao EditDecisionDAO */
68  $editorDecisions = $editDecisionDao->getEditorDecisions($reviewRound->getSubmissionId(), $reviewRound->getStageId(), $reviewRound->getRound());
69 
70  if (empty($decisions)) {
71  $decisions = array_keys($this->_externalReviewStageDecisions($context));
72  }
73  $takenDecision = false;
74  foreach ($editorDecisions as $decision) {
75  if (in_array($decision['decision'], $decisions)) {
76  $takenDecision = true;
77  break;
78  }
79  }
80 
81  return $takenDecision;
82  }
83 
92  protected function _externalReviewStageDecisions($context, $makeDecision = true) {
93  $paymentManager = Application::getPaymentManager($context);
94  $decisions = array();
95  if ($makeDecision) {
96  $decisions = array(
97  SUBMISSION_EDITOR_DECISION_PENDING_REVISIONS => array(
98  'operation' => 'sendReviewsInReview',
99  'name' => 'requestRevisions',
100  'title' => 'editor.submission.decision.requestRevisions',
101  ),
102  SUBMISSION_EDITOR_DECISION_RESUBMIT => array(
103  'name' => 'resubmit',
104  'title' => 'editor.submission.decision.resubmit',
105  ),
106  SUBMISSION_EDITOR_DECISION_NEW_ROUND => array(
107  'name' => 'newround',
108  'title' => 'editor.submission.decision.newRound',
109  ),
110  SUBMISSION_EDITOR_DECISION_ACCEPT => array(
111  'operation' => 'promoteInReview',
112  'name' => 'accept',
113  'title' => 'editor.submission.decision.accept',
114  'toStage' => 'submission.copyediting',
115  'paymentType' => $paymentManager->publicationEnabled()?PAYMENT_TYPE_PUBLICATION:null,
116  'paymentAmount' => $context->getData('publicationFee'),
117  'paymentCurrency' => $context->getData('currency'),
118  'requestPaymentText' => __('payment.requestPublicationFee', array('feeAmount' => $context->getData('publicationFee') . ' ' . $context->getData('currency'))),
119  'waivePaymentText' => __('payment.waive'),
120  ),
121  SUBMISSION_EDITOR_DECISION_DECLINE => array(
122  'operation' => 'sendReviewsInReview',
123  'name' => 'decline',
124  'title' => 'editor.submission.decision.decline',
125  ),
126  );
127  }
128  return $decisions;
129  }
130 }
131 
132 
EditorDecisionActionsManager\_externalReviewStageDecisions
_externalReviewStageDecisions($context, $makeDecision=true)
Definition: EditorDecisionActionsManager.inc.php:92
EditorDecisionActionsManager\getEditorTakenActionInReviewRound
getEditorTakenActionInReviewRound($context, $reviewRound, $decisions=array())
Definition: EditorDecisionActionsManager.inc.php:66
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
Application\getPaymentManager
static getPaymentManager($context)
Definition: Application.inc.php:226
EditorDecisionActionsManager
Wrapper class for create and assign editor decisions actions to template manager.
Definition: EditorDecisionActionsManager.inc.php:33
PKPEditorDecisionActionsManager\_submissionStageDecisions
_submissionStageDecisions($stageId, $makeDecision=true)
Definition: PKPEditorDecisionActionsManager.inc.php:76
PKPEditorDecisionActionsManager
Wrapper class for create and assign editor decisions actions to template manager.
Definition: PKPEditorDecisionActionsManager.inc.php:23
EditorDecisionActionsManager\getActionLabels
getActionLabels($context, $stageId, $decisions)
Definition: EditorDecisionActionsManager.inc.php:42
PKPEditorDecisionActionsManager\_editorialStageDecisions
_editorialStageDecisions($makeDecision=true)
Definition: PKPEditorDecisionActionsManager.inc.php:115