public function get_listdispositions() { // -- Return a list of all the dispositions as a json // -------------------------------------------------- $output = null; $output = \Crm\Referrals\Referrals_model::loadDispositionList(); $this->response(json_encode($output)); }
public static function choice($questions = null, $portal_form = null, $apiKey = null) { // Before anything, do a duplicate check $dupes = \Crm\Referrals\Referrals_model::duplicationCheck(array('forename' => isset($portal_form['first_name']) ? $portal_form['first_name'] : null, 'surname' => isset($portal_form['last_name']) ? $portal_form['last_name'] : null, 'post_code' => isset($portal_form['postcode']) ? $portal_form['postcode'] : null, 'tel_home' => isset($portal_form['phone_number']) ? $portal_form['phone_number'] : null, 'tel_work' => null, 'tel_mobile' => isset($portal_form['alt_phone']) ? $portal_form['alt_phone'] : null)); if (count($dupes) > 0) { // We have a duplicate so lets find out where it comes from } else { $noppi = true; $nodr = true; } $centerDetails = \Model_Call_Center::find()->where('api_key', $apiKey)->get_one(); $clientID = \Crm\Referrals\Referrals_model::createReferral(array('user_id' => '', 'company_id' => 1, 'product_id' => 1, 'dialler_lead_id' => isset($portal_form['lead_id']) ? $portal_form['lead_id'] : null, 'dialler_list_id' => isset($portal_form['list_id']) ? $portal_form['list_id'] : null, 'dialler_list_name' => '', 'disposition_id' => '', 'title' => isset($portal_form['title']) ? $portal_form['title'] : null, 'forename' => isset($portal_form['first_name']) ? $portal_form['first_name'] : null, 'surname' => isset($portal_form['last_name']) ? $portal_form['last_name'] : null, 'street_and_number' => isset($portal_form['address1']) ? $portal_form['address1'] : null, 'area' => isset($portal_form['address2']) ? $portal_form['address2'] : null, 'district' => isset($portal_form['address3']) ? $portal_form['address3'] : null, 'town' => isset($portal_form['city']) ? $portal_form['city'] : null, 'county' => isset($portal_form['state']) ? $portal_form['state'] : null, 'post_code' => isset($portal_form['postal_code']) ? $portal_form['postal_code'] : null, 'date_of_birth' => isset($portal_form['date_of_birth']) ? $portal_form['date_of_birth'] : null, 'tel_home' => isset($portal_form['phone_number']) ? $portal_form['phone_number'] : null, 'tel_work' => 0, 'tel_mobile' => isset($portal_form['alt_phone']) ? $portal_form['alt_phone'] : null, 'email' => isset($portal_form['email']) ? $portal_form['email'] : null, 'notes' => isset($portal_form['comments']) ? $portal_form['comments'] : null, 'introducer_id' => $centerDetails->id)); if (Portal_Check::values_to_bool($questions['form-q5']) === true) { return array('type' => 'DNQ', 'reason' => 'being in an IVA or Declared Bankrupt.'); } else { if (Portal_Check::values_to_bool($questions['form-q3']) === false and Portal_Check::values_to_bool($questions['form-q4']) === false) { // Get client ID from the PPI system $Referral = \Crm\Referrals\Referrals_class::forge($clientID); $saveData['referralQuestions'] = $questions; $Referral->saveData($saveData); $Referral->product_id = 1; $Referral->company_id = 3; $Referral->save(); $Referral = \Crm\Referrals\Referrals_class::forge($clientID); $Referral->setDisposition(14); $Referral->sendForConsolidation(); return array('type' => 'PPI', 'clientID' => $clientID); } else { // Save details and get client ID from Debtsolv $Debtsolv = \Crm\Referrals\Referrals_debtsolv_class::forge((int) $clientID); $saveData['referralQuestions'] = $questions; $Debtsolv->saveData($saveData); $Debtsolv->product_id = 2; $Debtsolv->company_id = 1; $Debtsolv->save(); // Reload the referral $Debtsolv = \Crm\Referrals\Referrals_debtsolv_class::forge((int) $clientID); $client_ID = $Debtsolv->addNewLead(); $Debtsolv->setDisposition(25); $Debtsolv->sendForDRConsolidation(); return array('type' => 'DR', 'clientID' => $client_ID); } } return null; }
/** * Display all referrals to the user. * * @access public * @return void */ public function action_referrals($clientID) { list($driver, $user_id) = \Auth::get_user_id(); $latestReferrals = \Crm\Referrals\Referrals_model::getLatestReferrals(array(0, 14), 5); $callBacks = \Crm\Referrals\Referrals_callback_class::listUserCallbacks($user_id); $callBacksList = array(); // Create a list of callbacks in the past or 2 hours in the future. foreach ($callBacks as $callBack) { if (strtotime($callBack['callback_on']) < strtotime("+2 hours")) { $referral = Referrals_class::forge($callBack['referral_id']); $callBack['referral'] = array('forename' => $referral->forename, 'surname' => $referral->surname); $callBacksList[] = $callBack; } } $this->template->title = "PPI Referrals"; $this->template->content = View::forge(static::$_viewPath . '/referrals.php', array('latestReferrals' => $latestReferrals, 'callBacks' => $callBacksList, 'clientID' => $clientID)); }
public static function choice($questions = null, $portal_form = null, $apiKey = null) { // Before anything, do a duplicate check $apiCheck = \Crm\Portal\Portal_Check::api_key($apiKey); $surveyChoice = $apiCheck->survey; $surveyDetails = \Model_Survey::find($surveyChoice); $collectOnly = true; if ($surveyDetails->type == 'CHOICE') { $collectOnly = false; } else { $collectOnly = true; } $dupes = \Crm\Referrals\Referrals_model::duplicationCheck(array('forename' => isset($portal_form['first_name']) ? $portal_form['first_name'] : null, 'surname' => isset($portal_form['last_name']) ? $portal_form['last_name'] : null, 'post_code' => isset($portal_form['postcode']) ? $portal_form['postcode'] : null, 'tel_home' => isset($portal_form['phone_number']) ? $portal_form['phone_number'] : null, 'tel_work' => null, 'tel_mobile' => isset($portal_form['alt_phone']) ? $portal_form['alt_phone'] : null)); if (count($dupes) > 0) { // We have a duplicate so lets find out where it comes from } else { $noppi = true; $nodr = true; } $centerDetails = \Model_Call_Center::query()->where('api_key', $apiKey)->get_one(); $clientID = \Crm\Referrals\Referrals_model::createReferral(array('user_id' => '', 'company_id' => 3, 'product_id' => 1, 'dialler_lead_id' => isset($portal_form['lead_id']) ? $portal_form['lead_id'] : null, 'dialler_list_id' => isset($portal_form['list']) ? $portal_form['list'] : null, 'dialler_list_name' => '', 'introducer_agent_name' => isset($portal_form['agent']) ? $portal_form['agent'] : null, 'disposition_id' => '', 'title' => isset($portal_form['title']) ? $portal_form['title'] : null, 'forename' => isset($portal_form['first_name']) ? $portal_form['first_name'] : null, 'surname' => isset($portal_form['last_name']) ? $portal_form['last_name'] : null, 'street_and_number' => isset($portal_form['address1']) ? $portal_form['address1'] : null, 'area' => isset($portal_form['address2']) ? $portal_form['address2'] : null, 'district' => isset($portal_form['address3']) ? $portal_form['address3'] : null, 'town' => isset($portal_form['city']) ? $portal_form['city'] : null, 'county' => isset($portal_form['state']) ? $portal_form['state'] : null, 'post_code' => isset($portal_form['postal_code']) ? $portal_form['postal_code'] : null, 'date_of_birth' => isset($portal_form['date_of_birth']) ? $portal_form['date_of_birth'] : null, 'tel_home' => isset($portal_form['phone_number']) ? $portal_form['phone_number'] : null, 'tel_work' => 0, 'tel_mobile' => isset($portal_form['alt_phone']) ? $portal_form['alt_phone'] : null, 'email' => isset($portal_form['email']) ? $portal_form['email'] : null, 'notes' => isset($portal_form['comments']) ? $portal_form['comments'] : null, 'introducer_id' => $centerDetails->id)); \log::write('PPI-DEBUG', \Format::forge($questions)->to_json()); foreach ($questions as $questionId => $questionAnswer) { if (substr($questionId, 0, 6) == "form-q") { $answers = new \Model_Survey_Response(); $answers->reference = $clientID; $answers->question_id = (int) str_replace("form-q", "", $questionId); $answers->answer_id = !is_null($questionAnswer) ? $questionAnswer : ""; $answers->extra = !is_null($questions['form-e' . (int) str_replace("form-q", "", $questionId)]) ? $questions['form-e' . (int) str_replace("form-q", "", $questionId)] : "-"; $answers->save(); } } if (!$collectOnly) { if ((int) $questions['form-q21'] == 126) { return array('type' => 'DNQ', 'reason' => 'being in an IVA or Declared Bankrupt.'); } else { if ((int) $questions['form-q19'] == 123 and (int) $questions['form-q20'] == 125) { // Get client ID from the PPI system $Referral = \Crm\Referrals\Referrals_class::forge($clientID); $saveData['referralQuestions'] = $questions; $Referral->saveData($saveData); $Referral->product_id = 1; $Referral->company_id = 3; $Referral->save(); $Referral = \Crm\Referrals\Referrals_class::forge($clientID); $Referral->setDisposition(14); $Referral->sendForConsolidation(); return array('type' => 'PPI', 'clientID' => $clientID); } else { // Save details and get client ID from Debtsolv $Debtsolv = \Crm\Referrals\Referrals_debtsolv_class::forge((int) $clientID); $saveData['referralQuestions'] = $questions; $Debtsolv->saveData($saveData); $Debtsolv->product_id = 2; $Debtsolv->company_id = 1; $Debtsolv->save(); // Reload the referral $Debtsolv = \Crm\Referrals\Referrals_debtsolv_class::forge((int) $clientID); $client_ID = $Debtsolv->addNewLead(); $Debtsolv->setDisposition(25); $Debtsolv->sendForDRConsolidation(); return array('type' => 'DR', 'clientID' => $client_ID); } } } else { return array('type' => 'DONE', 'clientID' => $client_ID); } return null; }