/** * Lock Pages are always incomplete */ public function getStatus() { if ($this->_applicant->isLocked()) { return self::COMPLETE; } return self::INCOMPLETE; }
/** * 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; }
/** * 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(); }
/** * 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); }