decision = $decision; parent::__construct(func_get_args()); } public function getDecision(): Decision { return $this->decision; } public static function getDataDescriptions(): array { $variables = parent::getDataDescriptions(); $variables[self::DECISION_DESCRIPTION] = __('mailable.decision.notifyReviewer.variable.decisionDescription'); return $variables; } public function setData(?string $locale = null): void { parent::setData($locale); $this->viewData[self::DECISION_DESCRIPTION] = $this->getDecisionDescription($locale); } /** * Get a description of the decision to use as an email variable */ protected function getDecisionDescription(?string $locale = null): string { switch ($this->decision->getData('decision')) { case Decision::ACCEPT: return __('mailable.decision.notifyReviewer.variable.decisionDescription.accept', [], $locale); case Decision::DECLINE: return __('mailable.decision.notifyReviewer.variable.decisionDescription.decline', [], $locale); case Decision::PENDING_REVISIONS: return __('mailable.decision.notifyReviewer.variable.decisionDescription.pendingRevisions', [], $locale); case Decision::RESUBMIT: return __('mailable.decision.notifyReviewer.variable.decisionDescription.resubmit', [], $locale); default: return ''; } } }