コード例 #1
0
 /**
  * test the parseData function
  */
 public function testParseData()
 {
     $extractor = new EXTRACTOR_JobVacancy();
     // No parameters - default settings
     $post = array();
     $vacancy = $extractor->parseData($post);
     $expected = new JobVacancy();
     $this->assertEquals($expected, $vacancy);
     // All parameters
     $post = array('txtId' => '2', 'cmbJobTitle' => '3', 'cmbHiringManager' => '2', 'txtDesc' => 'XYZ', 'active' => '1');
     $vacancy = $extractor->parseData($post);
     $expected = new JobVacancy();
     $expected->setId(2);
     $expected->setJobTitleCode(3);
     $expected->setManagerId(2);
     $expected->setDescription('XYZ');
     $expected->setActive(true);
     $this->assertEquals($expected, $vacancy);
     // Without ID
     $post = array('cmbJobTitle' => '3', 'cmbHiringManager' => '2', 'txtDesc' => 'XYZ', 'active' => '1');
     $vacancy = $extractor->parseData($post);
     $expected = new JobVacancy();
     $expected->setJobTitleCode(3);
     $expected->setManagerId(2);
     $expected->setDescription('XYZ');
     $expected->setActive(true);
     $this->assertEquals($expected, $vacancy);
 }
コード例 #2
0
 /**
  * Handle incoming requests
  * @param String code Recruit code
  */
 public function handleRequest($code)
 {
     if (empty($code) || !isset($_GET['action'])) {
         trigger_error("Invalid Action " . $_GET['action'], E_USER_NOTICE);
         return;
     }
     switch ($code) {
         case 'Vacancy':
             $viewListExtractor = new EXTRACTOR_ViewList();
             switch ($_GET['action']) {
                 case 'List':
                     $searchObject = $viewListExtractor->parseSearchData($_POST, $_GET);
                     $this->_viewVacancies($searchObject);
                     break;
                 case 'View':
                     $id = isset($_GET['id']) ? $_GET['id'] : null;
                     $this->_viewVacancy($id);
                     break;
                 case 'ViewAdd':
                     $this->_viewAddVacancy();
                     break;
                 case 'Add':
                     $extractor = new EXTRACTOR_JobVacancy();
                     $vacancy = $extractor->parseData($_POST);
                     $this->_addVacancy($vacancy);
                     break;
                 case 'Update':
                     $extractor = new EXTRACTOR_JobVacancy();
                     $vacancy = $extractor->parseData($_POST);
                     $this->_updateVacancy($vacancy);
                     break;
                 case 'Delete':
                     $ids = $_POST['chkID'];
                     $this->_deleteVacancies($ids);
                     break;
             }
             break;
         case 'Application':
             $id = isset($_GET['id']) ? $_GET['id'] : null;
             switch ($_GET['action']) {
                 case 'List':
                     $this->_viewApplicationList();
                     break;
                 case 'ConfirmReject':
                     $this->_confirmAction($id, JobApplication::ACTION_REJECT);
                     break;
                 case 'Reject':
                     $eventExtractor = new EXTRACTOR_JobApplicationEvent();
                     $event = $eventExtractor->parseAddData($_POST);
                     $this->_rejectApplication($event);
                     break;
                 case 'ConfirmFirstInterview':
                     $this->_scheduleFirstInterview($id);
                     break;
                 case 'FirstInterview':
                     $interviewExtractor = new EXTRACTOR_ScheduleInterview();
                     $event = $interviewExtractor->parseAddData($_POST);
                     $this->_saveFirstInterview($event);
                     break;
                 case 'ConfirmSecondInterview':
                     $this->_scheduleSecondInterview($id);
                     break;
                 case 'SecondInterview':
                     $interviewExtractor = new EXTRACTOR_ScheduleInterview();
                     $event = $interviewExtractor->parseAddData($_POST);
                     $this->_saveSecondInterview($event);
                     break;
                 case 'ConfirmOfferJob':
                     $this->_confirmAction($id, JobApplication::ACTION_OFFER_JOB);
                     break;
                 case 'OfferJob':
                     $eventExtractor = new EXTRACTOR_JobApplicationEvent();
                     $event = $eventExtractor->parseAddData($_POST);
                     $this->_offerJob($event);
                     break;
                 case 'ConfirmMarkDeclined':
                     $this->_confirmAction($id, JobApplication::ACTION_MARK_OFFER_DECLINED);
                     break;
                 case 'MarkDeclined':
                     $eventExtractor = new EXTRACTOR_JobApplicationEvent();
                     $event = $eventExtractor->parseAddData($_POST);
                     $this->_markDeclined($event);
                     break;
                 case 'ConfirmSeekApproval':
                     $this->_confirmSeekApproval($id);
                     break;
                 case 'SeekApproval':
                     $eventExtractor = new EXTRACTOR_JobApplicationEvent();
                     $event = $eventExtractor->parseSeekApprovalData($_POST);
                     $this->_seekApproval($event);
                     break;
                 case 'ConfirmApprove':
                     $this->_confirmAction($id, JobApplication::ACTION_APPROVE);
                     break;
                 case 'Approve':
                     $eventExtractor = new EXTRACTOR_JobApplicationEvent();
                     $event = $eventExtractor->parseAddData($_POST);
                     $this->_approve($event);
                     break;
                 case 'ViewDetails':
                     $this->_viewApplicationDetails($id);
                     break;
                 case 'ViewHistory':
                     $this->_viewApplicationHistory($id);
                     break;
                 case 'EditEvent':
                     $eventExtractor = new EXTRACTOR_JobApplicationEvent();
                     $object = $eventExtractor->parseUpdateData($_POST);
                     $this->_editEvent($object);
                     break;
             }
             break;
     }
 }