25 static $stageMapping = array(
26 WORKFLOW_STAGE_ID_SUBMISSION => WORKFLOW_STAGE_PATH_SUBMISSION,
27 WORKFLOW_STAGE_ID_INTERNAL_REVIEW => WORKFLOW_STAGE_PATH_INTERNAL_REVIEW,
28 WORKFLOW_STAGE_ID_EXTERNAL_REVIEW => WORKFLOW_STAGE_PATH_EXTERNAL_REVIEW,
29 WORKFLOW_STAGE_ID_EDITING => WORKFLOW_STAGE_PATH_EDITING,
30 WORKFLOW_STAGE_ID_PRODUCTION => WORKFLOW_STAGE_PATH_PRODUCTION
32 if (isset($stageMapping[$stageId])) {
33 return $stageMapping[$stageId];
44 static $stageMapping = array(
45 WORKFLOW_STAGE_PATH_SUBMISSION => WORKFLOW_STAGE_ID_SUBMISSION,
46 WORKFLOW_STAGE_PATH_INTERNAL_REVIEW => WORKFLOW_STAGE_ID_INTERNAL_REVIEW,
47 WORKFLOW_STAGE_PATH_EXTERNAL_REVIEW => WORKFLOW_STAGE_ID_EXTERNAL_REVIEW,
48 WORKFLOW_STAGE_PATH_EDITING => WORKFLOW_STAGE_ID_EDITING,
49 WORKFLOW_STAGE_PATH_PRODUCTION => WORKFLOW_STAGE_ID_PRODUCTION
51 if (isset($stageMapping[$stagePath])) {
52 return $stageMapping[$stagePath];
65 assert(isset($stageMapping[$stageId]));
66 return $stageMapping[$stageId];
76 static $stageMapping = array(
77 WORKFLOW_STAGE_ID_SUBMISSION =>
'submission.submission',
78 WORKFLOW_STAGE_ID_INTERNAL_REVIEW =>
'workflow.review.internalReview',
79 WORKFLOW_STAGE_ID_EXTERNAL_REVIEW =>
'workflow.review.externalReview',
80 WORKFLOW_STAGE_ID_EDITING =>
'submission.editorial',
81 WORKFLOW_STAGE_ID_PRODUCTION =>
'submission.production'
84 return array_intersect_key($stageMapping, array_flip($applicationStages));
94 $stageMapping = array();
95 foreach ($workflowStages as $stageId => $translationKey) {
96 $stageMapping[$stageId] = array(
98 'translationKey' => $translationKey,
99 'path' => self::getPathFromId($stageId)
103 return $stageMapping;
116 $currentStageId = $submission->getStageId();
119 foreach ($workflowStages as $stageId => $stageData) {
124 if (!$foundState && $stageId <= $currentStageId && (in_array($stageId, $stagesWithDecisions) || $stageId == WORKFLOW_STAGE_ID_PRODUCTION) && !$stageNotifications[$stageId]) {
125 $workflowStages[$currentStageId][
'statusKey'] =
'submission.complete';
129 if (!$foundState && $stageId < $currentStageId && !$stageNotifications[$stageId]) {
135 if (!$foundState && $stageId <= $currentStageId && ( !in_array($stageId, $stagesWithDecisions) || $stageNotifications[$stageId])) {
136 $workflowStages[$currentStageId][
'statusKey'] =
'submission.initiated';
141 return $workflowStages;