decisionTypes)) { $decisionTypes = new Collection([ new Accept(), new Decline(), new InitialDecline(), new NewExternalReviewRound(), new RecommendAccept(), new RecommendDecline(), new RecommendResubmit(), new RecommendRevisions(), new Resubmit(), new RequestRevisions(), new RevertDecline(), new RevertInitialDecline(), new SendExternalReview(), new SendToProduction(), new SkipExternalReview(), new BackFromProduction(), new BackFromCopyediting(), new CancelReviewRound(), ]); Hook::call('Decision::types', [$decisionTypes]); $this->decisionTypes = $decisionTypes; } return $this->decisionTypes; } public function getDeclineDecisionTypes(): array { return [ new InitialDecline(), new Decline(), ]; } protected function getReviewNotificationTypes(): array { return [Notification::NOTIFICATION_TYPE_PENDING_EXTERNAL_REVISIONS]; } public function getDecisionTypesMadeByRecommendingUsers(int $stageId): array { $recommendatorsAvailableDecisions = []; switch($stageId) { case WORKFLOW_STAGE_ID_SUBMISSION: $recommendatorsAvailableDecisions = [ new SendExternalReview() ]; } Hook::call('Workflow::RecommendatorDecisions', [&$recommendatorsAvailableDecisions, $stageId]); return $recommendatorsAvailableDecisions; } }