function load($id) { $candidate = null; if (Cache::has($id)) { $candidate = Cache::get($id); } else { //load the candidate data from Bullhorn $candidate = new \Stratum\Model\Candidate(); $candidate->set("id", $id); $bc = new BullhornController(); $bc->load($candidate); Cache::add($id, $candidate, 60); } return $candidate; }
public function confirmValues(Request $request) { $id = $request->input("id"); $fc = new \Stratum\Controller\FormController(); $cc = new \Stratum\Controller\CandidateController(); $cuc = new CorporateUserController(); $entityBody = Storage::disk('local')->get($id . '.txt'); $formResult = $fc->parse($entityBody); $c2 = new \Stratum\Model\Candidate(); $c2 = $cc->populate($c2, $formResult); $form = $formResult->get("form"); $candidate = new \Stratum\Model\Candidate(); $candidate = $cc->populateFromRequest($candidate, $request->all(), $c2, $formResult); if ($candidate->get("validated") != 'true') { $data['errormessage']['message'] = "You must confirm that this form is correct and accurate. Use the Browser Back button to avoid losing your edits."; $error['propertyName'] = "validated"; $error['severity'] = 'Validation Failure'; $error['type'] = 'Must Accept Form'; $data['errormessage']['errors'][] = $error; $data['message'] = "Validation Failure: Data Not Uploaded"; } else { if (!$candidate->get("customText16")) { $candidate->set("tier", $candidate->get("customText16")); //must transfer to human-readable attribute name $data['errormessage']['message'] = "You must assign a Tier to this Candidate. Use the Browser Back button to avoid losing your edits."; $error['propertyName'] = "tier"; $error['severity'] = 'Validation Failure'; $error['type'] = 'Must Assign Tier'; $data['errormessage']['errors'][] = $error; $data['message'] = "Validation Failure: Data Not Uploaded"; } else { $now = new \DateTime(); $stamp = $now->format("U") * 1000; $candidate->set("customDate1", $stamp); $candidate->set("customDate2", $stamp); //$data['message'] = 'Debugging only, nothing uploaded to Bullhorn'; $bc = new \Stratum\Controller\BullhornController(); $c1 = new \Stratum\Model\Candidate(); $c1->set("id", $id); $c1 = $bc->loadFully($c1); //$c1 is the bullhorn existing candidate $c2->set("formResult", $formResult); //trojan horse to get formResult to pdf $pdf_data = $this->generatePDF($id, $c1, $c2, $candidate, $bc); $this->uploadPDF($candidate, $pdf_data, $bc); Log::debug("Uploaded PDF record from form"); // to shortcut to html view //return view('export_the_pdf')->with($pdf_data); $retval = $bc->submit($candidate); if (array_key_exists("errorMessage", $retval)) { $data['errormessage']['message'] = $retval['errorMessage']; $data['errormessage']['errors'] = $retval['errors']; $data['message'] = "Problem uploading data"; } else { $data['message'] = "Data Uploaded"; $bc->updateCandidateStatus($candidate, "Interview Done"); $cuc->flushCandidatesFromCache(); Log::debug("sending email to admin@stratum-int.com about Interview completion"); $user = Auth::user(); $maildata['candidateName'] = $candidate->getName(); $maildata['candidateID'] = $id; $maildata['consultantName'] = $user->name; $maildata['date'] = date(DATE_RFC2822); Mail::send('email.interview_complete', $maildata, function ($m) use($candidate, $id) { $m->from('*****@*****.**', 'Plum Data Integration Service'); $m->to('*****@*****.**')->subject('Interview Complete ' . $candidate->getName() . ' ' . $id); }); } } } $data['candidates'] = $cuc->load_candidates(); $data['thecandidate'] = $candidate; $fc = new \Stratum\Controller\FormController(); $data['form'] = $fc->setupForm(); return view('candidate')->with($data); }
private function setup_template($id) { $template = new FormTemplate(); //load the id from the request //$id = $request->getAttribute('entityid'); $template->set('id', $id); //set up the controllers and their loggers $this->wcontroller = new \Stratum\Controller\WorldappController(); $this->bcontroller = new \Stratum\Controller\BullhornController(); $formName = 'Registration Form - Stratum International'; if (Cache::has($formName)) { Log::debug("Loading form from cache"); $form = Cache::get($formName); } else { //find the correct form $form = $this->wcontroller->find_form_by_name($formName); Cache::add($formName, $form, 60); } $template->set('form', $form); $candidate = null; if (Cache::has($id)) { $candidate = Cache::get($id); Log::debug("Loading candidate from cache with id " . $id); } else { //load the candidate data from Bullhorn $candidate = new \Stratum\Model\Candidate(); $candidate->set("id", $id); $this->bcontroller->load($candidate); Cache::add($id, $candidate, 60); } $template->set('candidate', $candidate); $owner = $this->findCorporateUser($candidate); $template->set('owner', $owner); //download and store the original template (so we can convert back) $emailTemplate = null; if (Cache::has('original')) { $emailTemplate = Cache::get('original'); } else { $emailTemplate = $this->wcontroller->getEmailTemplate($form->id); Cache::add('original', $emailTemplate, 60); } $template->set('emailTemplate', $emailTemplate); return $template; }