public function init() { $this->isInitialized = true; if (!$this->application) { return; } $this->setEncoding('UTF-8'); $subject = 'Fwd: Application to "%s" dated %s'; if ($this->isTranslatorEnabled()) { $subject = $this->getTranslator()->translate($subject); } $this->setSubject(sprintf($subject, $this->application->getJob()->getTitle(), strftime('%x', $this->application->getDateCreated()->getTimestamp()))); $this->generateBody(); }
/** * Prepares the Notification Mail * * @param ApplicationEvent $e */ public function prepareFormData(ApplicationEvent $e) { if ($e->isPostRequest()) { return; } $this->application = $e->getApplicationEntity(); $status = $e->getStatus(); $user = $e->getUser(); $settings = $user->getSettings('Applications'); /* @var \Applications\Mail\StatusChange $mail */ $mail = $this->mailService->get('Applications/StatusChange'); switch ($status) { case Status::CONFIRMED: $key = 'mailConfirmationText'; break; case Status::INVITED: $key = 'mailInvitationText'; break; case Status::ACCEPTED: $key = 'mailAcceptedText'; break; case Status::REJECTED: $key = 'mailRejectionText'; break; default: throw new \InvalidArgumentException('Unknown status value: ' . $status); } $mailText = $settings->{$key} ? $settings->{$key} : ''; $mail->setBody($mailText); $mail->setApplication($this->application); $mailText = $mail->getBodyText(); $mailSubject = sprintf($this->translator->translate('Your application dated %s'), strftime('%x', $this->application->getDateCreated()->getTimestamp())); $data = array('applicationId' => $this->application->getId(), 'status' => $status, 'mailSubject' => $mailSubject, 'mailText' => $mailText, 'to' => $this->getRecipient($this->application, $status)); $e->setFormData($data); }