Example #1
0
 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();
 }
Example #2
0
 /**
  * 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);
 }