/** * test the parseData function */ public function testParseData() { $_FILES['txtResume']['size'] = 0; $extractor = new EXTRACTOR_JobApplication(); // No parameters - default settings $post = array(); $application = $extractor->parseData($post); $expected = new JobApplication(); $this->assertEquals($expected, $application); // Without ID $post = array('txtVacancyId' => '1', 'txtFirstName' => 'John', 'txtMiddleName' => 'K', 'txtLastName' => 'Salgado', 'txtStreet1' => '111 Main St', 'txtStreet2' => 'Apt 1111', 'txtCity' => 'Colombo', 'txtCountry' => 'Sri Lanka', 'txtProvince' => 'Central', 'txtZip' => '10000', 'txtMobile' => '0772828282', 'txtPhone' => '1119191991', 'txtEmail' => '*****@*****.**', 'txtQualifications' => 'sdf sadf sfsd'); $application = $extractor->parseData($post); $expected = new JobApplication(); $expected->setVacancyId(1); $expected->setFirstName('John'); $expected->setMiddleName('K'); $expected->setLastName('Salgado'); $expected->setStreet1('111 Main St'); $expected->setStreet2('Apt 1111'); $expected->setCity('Colombo'); $expected->setCountry('Sri Lanka'); $expected->setProvince('Central'); $expected->setZip('10000'); $expected->setPhone('1119191991'); $expected->setMobile('0772828282'); $expected->setEmail('*****@*****.**'); $expected->setQualifications('sdf sadf sfsd'); $this->assertEquals($expected, $application); // All parameters $post = array('txtId' => '121', 'txtVacancyId' => '1', 'txtFirstName' => 'John', 'txtMiddleName' => 'K', 'txtLastName' => 'Salgado', 'txtStreet1' => '111 Main St', 'txtStreet2' => 'Apt 1111', 'txtCity' => 'Colombo', 'txtCountry' => 'Sri Lanka', 'txtProvince' => 'Central', 'txtZip' => '10000', 'txtMobile' => '0772828282', 'txtPhone' => '1119191991', 'txtEmail' => '*****@*****.**', 'txtQualifications' => 'sdf sadf sfsd'); $application = $extractor->parseData($post); $expected->setId(121); $this->assertEquals($expected, $application); }
/** * Handle job application by applicant */ public function applyForJob() { $extractor = new EXTRACTOR_JobApplication(); $jobApplication = $extractor->parseData($_POST); try { $jobApplication->save(); $result = true; } catch (JobApplicationException $e) { $result = false; } // Send mail notifications $notifier = new RecruitmentMailNotifier(); $notifier->sendApplicationReceivedEmailToManager($jobApplication); // We only need to display result of email sent to applicant $mailResult = $notifier->sendApplicationReceivedEmailToApplicant($jobApplication); $path = '/templates/recruitment/applicant/jobApplicationStatus.php'; $objs['application'] = $jobApplication; $objs['vacancy'] = JobVacancy::getJobVacancy($jobApplication->getVacancyId()); $objs['result'] = $result; $objs['mailResult'] = $mailResult; $template = new TemplateMerger($objs, $path); $template->display(); }
/** * Replaces the resume of the applicant. * $_POST contains the application ID */ private function _replaceResume() { $this->_authenticateResumeAccess(); $extractor = new EXTRACTOR_JobApplication(); $jobApplication = $extractor->parseData($_POST); if ($jobApplication->resumeData['size'] > 0) { if ($jobApplication->isResumeCompatible()) { try { $jobApplication->updateResume(); $objs['application'] = JobApplication::getJobApplication($jobApplication->getId()); // Contains new resume $objs['message'] = 'Resume replaced'; } catch (Exception $e) { $objs['application'] = JobApplication::getJobApplication($jobApplication->getId()); // Still contains the old resume $objs['message'] = 'Resume not replaced'; } } else { $objs['application'] = JobApplication::getJobApplication($jobApplication->getId()); $objs['message'] = $jobApplication->resumeData['error']; } } else { $objs['application'] = JobApplication::getJobApplication($jobApplication->getId()); } $path = '/templates/recruitment/viewApplicationDetails.php'; $template = new TemplateMerger($objs, $path); $template->display(); }