Esempio n. 1
0
 function add()
 {
     function formData($data)
     {
         return array_merge($data, array('headline' => 'Create', 'submitname' => 'add', 'submitvalue' => 'Add Job'));
     }
     global $CRecruiter;
     $CRecruiter->requireLogin();
     global $CCompany;
     if (!$CCompany->exists()) {
         $this->error('you must create a company profile first');
         self::render('notice');
         return;
     }
     if (!isset($_POST['add'])) {
         self::render('jobs/jobform', formData(array()));
         return;
     }
     global $params, $MJob, $MRecruiter;
     $me = $MRecruiter->me();
     $params['company'] = $me['company'];
     $this->startValidations();
     $this->validate(isset($params['salarytype']), $err, 'must select salary type');
     // Params to vars
     extract($data = $this->data($params));
     // Validations
     $this->validateData($data, $err);
     // Code
     if ($this->isValid()) {
         $data['applicants'] = array();
         $data['viewers'] = array();
         $data['stats'] = array('views' => 0, 'clicks' => 0);
         $jobId = $MJob->save($data);
         // Add credit for adding job.
         $recruiterId = $_SESSION['_id'];
         RecruiterModel::addCreditsForNewJob($recruiterId);
         $this->redirect("editapplication/{$jobId}");
         // This should go after the application form is set up.
         // $this->redirect('job', array('id' => $jobId));
         return;
     }
     $this->error($err);
     self::render('jobs/jobform', formData($data));
 }