Exemplo n.º 1
0
 /**
  * Get an applicants decisions status
  * @param \Jazzee\Entity\Applicant $applicant
  */
 protected function getDecisions(\Jazzee\Entity\Applicant $applicant)
 {
     $status = '';
     if ($applicant->getDecision()) {
         $status = $applicant->getDecision()->status();
     }
     switch ($status) {
         case '':
             $status = 'No Decision';
             break;
         case 'nominateAdmit':
             $status = 'Nominated for Admission';
             break;
         case 'nominateDeny':
             $status = 'Nominated for Deny';
             break;
         case 'finalDeny':
             $status = 'Denied ' . ($applicant->getDecision()->getDecisionViewed() ? '(decision viewed ' . $applicant->getDecision()->getDecisionViewed()->format('c') . ')' : '(decision not viewed)');
             break;
         case 'finalAdmit':
             $status = 'Admited ' . ($applicant->getDecision()->getDecisionViewed() ? '(decision viewed ' . $applicant->getDecision()->getDecisionViewed()->format('c') . ')' : '(decision not viewed)');
             break;
         case 'acceptOffer':
             $status = 'Accepted';
             break;
         case 'declineOffer':
             $status = 'Declined';
             break;
     }
     if ($applicant->isLocked()) {
         $decisions = array('status' => $status);
         foreach (array('nominateAdmit', 'undoNominateAdmit', 'nominateDeny', 'undoNominateDeny', 'finalAdmit', 'finalDeny', 'undoFinalAdmit', 'undoFinalDeny', 'acceptOffer', 'declineOffer', 'undoAcceptOffer', 'undoDeclineOffer') as $type) {
             $decisions["allow{$type}"] = $this->checkIsAllowed($this->controllerName, $type) && $applicant->getDecision()->can($type);
         }
     }
     $decisions['allowUnlock'] = $this->checkIsAllowed($this->controllerName, 'unlock');
     $decisions['allowLock'] = $this->checkIsAllowed($this->controllerName, 'lock');
     $decisions['isLocked'] = $applicant->isLocked();
     $decisions['dateSummary'] = array();
     foreach ($applicant->getDecision()->dateSummary() as $title => $date) {
         $decisions['dateSummary'][] = array('title' => $title, 'date' => $date);
     }
     return $decisions;
 }
Exemplo n.º 2
0
 /**
  * PDF a full single applicant
  * @param \Jazzee\Entity\Applicant $applicant
  * @return string the PDF buffer suitable for display
  */
 public function pdf(\Jazzee\Entity\Applicant $applicant)
 {
     $this->pdf->set_info("Title", $this->pdf->convert_to_unicode('utf8', $applicant->getFullName(), '') . ' Application');
     $this->addText($applicant->getFullName() . "\n", 'h1');
     $this->addText('Email Address: ' . $applicant->getEmail() . "\n", 'p');
     if ($applicant->isLocked()) {
         switch ($applicant->getDecision()->status()) {
             case 'finalDeny':
                 $status = 'Denied';
                 break;
             case 'finalAdmit':
                 $status = 'Admited';
                 break;
             case 'acceptOffer':
                 $status = 'Accepted';
                 break;
             case 'declineOffer':
                 $status = 'Declined';
                 break;
             default:
                 $status = 'No Decision';
         }
     } else {
         $status = 'Not Locked';
     }
     $this->addText("Admission Status: {$status}\n", 'p');
     $this->write();
     foreach ($applicant->getApplication()->getApplicationPages(\Jazzee\Entity\ApplicationPage::APPLICATION) as $page) {
         if ($page->getJazzeePage() instanceof \Jazzee\Interfaces\PdfPage) {
             $page->getJazzeePage()->setApplicant($applicant);
             $page->getJazzeePage()->setController($this->_controller);
             $page->getJazzeePage()->renderPdfSection($this);
         }
     }
     $this->write();
     $this->pdf->end_page_ext("");
     foreach ($applicant->getAttachments() as $attachment) {
         $this->addPdf($attachment->getAttachment());
     }
     $this->attachPdfs();
     $this->pdf->end_document("");
     return $this->pdf->get_buffer();
 }
Exemplo n.º 3
0
 /**
  * PDF a full single applicant
  * @param \Jazzee\Entity\Applicant $applicant
  * @return string the PDF buffer suitable for display
  */
 public function pdf(\Jazzee\Entity\Applicant $applicant)
 {
     $elements = array('applicant' => array(), 'pages' => array());
     $elements['applicant']['firstName'] = $applicant->getFirstName();
     $elements['applicant']['lastName'] = $applicant->getLastName();
     $elements['applicant']['middleName'] = $applicant->getMiddleName();
     $elements['applicant']['fullName'] = $applicant->getFullName();
     $elements['applicant']['suffix'] = $applicant->getSuffix();
     $elements['applicant']['email'] = $applicant->getEmail();
     $elements['applicant']['id'] = $applicant->getId();
     $elements['applicant']['externalid'] = $applicant->getExternalId();
     if ($applicant->isLocked()) {
         switch ($applicant->getDecision()->status()) {
             case 'finalDeny':
                 $status = 'Denied';
                 break;
             case 'finalAdmit':
                 $status = 'Admited';
                 break;
             case 'acceptOffer':
                 $status = 'Accepted';
                 break;
             case 'declineOffer':
                 $status = 'Declined';
                 break;
             default:
                 $status = 'No Decision';
         }
     } else {
         $status = 'Not Locked';
     }
     $elements['applicant']['status'] = $status;
     foreach ($applicant->getApplication()->getApplicationPages() as $applicationPage) {
         if ($applicationPage->getJazzeePage() instanceof \Jazzee\Interfaces\PdfPage) {
             $applicationPage->getJazzeePage()->setApplicant($applicant);
             $applicationPage->getJazzeePage()->setController($this->_controller);
             $elements['pages'][$applicationPage->getPage()->getId()] = $applicationPage->getJazzeePage()->getPdfTemplateValues();
         }
     }
     return $this->generatePDF($elements);
 }