예제 #1
0
파일: index.php 프로젝트: ClixLtd/pccupload
 /**
  * Pack out a referral to a PPI client.
  * 
  * @access public
  * @param mixed $referral_id
  * @return void
  */
 public function post_create_client($referral_id)
 {
     // First, we must save the updated data
     // Need to make sure that if we are a 0 referral_id then we create a new referral.
     list($referral, $referral_id) = Controller_Crm_Ppi::save_current_post($referral_id);
     // Now create the client
     $referralData = $referral->values();
     $clientID = ClientClass::createClient($referralData);
     \log::write('Msg', 'Create Client: ' . (int) $clientID, 'post_create_client');
     if ($clientID > 0) {
         // -- Create a PPI account for the client
         // --------------------------------------
         $referralData['clientID'] = $clientID;
         $ppiClientID = \Crm\Ppi\Ppi_class::createPpiClient($referralData);
         $ppiReference = \Crm\Ppi\Ppi_class::forge($ppiClientID);
         // -- Create a partner if details have been supplied
         // -------------------------------------------------
         $partnerDetails = $referral->loadData();
         if (isset($partnerDetails['partner']) && is_array($partnerDetails['partner'])) {
             $partnerDetails['partner']['clientID'] = $clientID;
             \Crm\PartnerClass::createPartner($partnerDetails['partner']);
         }
         $referral->setDisposition(5);
         list($driver, $user_id) = \Auth::get_user_id();
         $thisUser = \Model_User::find($user_id);
         \Log::write('Dispo', $thisUser->name . ' created a client from referral ID ' . $referral_id, 'Controller_Crm_Ppi::post_create_client()');
         $referralDetails = \DB::query("SELECT data FROM crm_referrals WHERE id='" . $referral_id . "';", \DB::select())->execute()->as_array();
         $data = unserialize($referralDetails[0]['data']);
         $letterConfig = \Crm\Ppi\Ppi_class::loadLettersList((int) $referralData['company_id']);
         if ((int) $referralData['company_id'] == 1) {
             $timeSlot = 1;
         } else {
             if ((int) $referralData['company_id'] == 3) {
                 $timeSlot = 2;
             }
         }
         // -- Persolvo Letters
         \Crm\Letter\Pack::forge($clientID, null, array(array('id' => $letterConfig['ppi_welcome_letter'], 'qty' => 1, 'tray_id' => 2)))->setOutputFilename('ppi_pack_coverletter_' . $clientID . '.pdf')->printLetter(2, 40)->timeSlot($timeSlot)->create();
         $pack = array(array('id' => $letterConfig['ppi_form_of_authority'], 'qty' => count($data['creditors']) > 0 ? count($data['creditors']) : 3, 'tray_id' => 1), array('id' => $letterConfig['recommand_a_friend'], 'qty' => 1, 'tray_id' => 1), array('id' => $letterConfig['terms_and_conditions_GAB'], 'qty' => 1, 'tray_id' => 1), array('id' => $letterConfig['terms_and_conditions_CUSTOMER'], 'qty' => 1, 'tray_id' => 1));
         if ((int) $referralData['company_id'] == 3) {
             $pack[] = array('id' => $letterConfig['ipad_questionnaire'], 'qty' => 1, 'tray_id' => 1);
         }
         \Crm\Letter\Pack::forge($clientID, null, $pack)->setOutputFilename('ppi_pack_' . $clientID . '.pdf')->printLetter()->timeSlot($timeSlot)->create();
         \DB::query("UPDATE crm_ppi_clients SET pack_sent_date = NOW() WHERE client_id=" . $clientID . ";")->execute();
         // -- Set Correspondence to Pack Out
         // ---------------------------------
         $correspondence = \Crm\Ppi\Ppi_correspondence::forge($clientID);
         $correspondence->saveNew(0, 1, 1, 0, 'Client Created and Pack Sent Out');
         $this->response(array('status' => 'SUCCESS', 'referralID' => $referral_id, 'clientID' => $clientID, 'ppiID' => $ppiClientID));
     } else {
         $this->response(array('status' => 'FAIL', 'message' => 'No Client could be created. Oh dear!'));
     }
 }
예제 #2
0
파일: index.php 프로젝트: ClixLtd/pccupload
 /**
  * Create a Partner
  * 
  * @public
  * @author David Stansfield
  */
 public function action_create_partner()
 {
     // -- 1) Check that a Partner doesn't already exist.
     // -- 2) Create Partner.
     $data = array();
     $data = array('clientID' => \Input::post('ClientID'), 'title' => \Input::post('Title'), 'forename' => \Input::post('Firstname'), 'surname' => \Input::post('Surname'), 'street_and_number' => \Input::post('Street-and-Number'), 'area' => \Input::post('Area'), 'district' => \Input::post('District'), 'town' => \Input::post('Town'), 'county' => \Input::post('County'), 'post_code' => \Input::post('Post-Code'), 'date_of_birth' => \Input::post('Date-of-Birth') != 'Not Taken' ? date("Y-m-d", strtotime(\Input::post('Date-of-Birth'))) : false, 'tel_home' => \Input::post('Telephone-Home'), 'tel_mobile' => \Input::post('Telephone-Mobile'), 'tel_work' => \Input::post('Telephone-Work'), 'email' => \Input::post('Email'), 'notes' => \Input::post('Notes'));
     if (\Crm\PartnerClass::createPartner($data)) {
         \Log::write('Action', 'Partner Created for Client ' . \Input::post('ClientID'));
     } else {
         \Log::write('Error', 'Failed to create Partner Client ' . \Input::post('ClientID'));
     }
     Response::redirect('/crm/view_client/' . \Input::post('ClientID') . '/');
 }