Ejemplo n.º 1
0
 public function action_delete($id = null)
 {
     if ($data_supplier_campaign = Model_Data_Supplier_Campaign::find($id)) {
         $data_supplier_campaign->delete();
         Session::set_flash('success', 'Deleted data_supplier_campaign #' . $id);
     } else {
         Session::set_flash('error', 'Could not delete data_supplier_campaign #' . $id);
     }
     Response::redirect('data/supplier/campaign');
 }
Ejemplo n.º 2
0
 public function action_supplier($campaign_id = null)
 {
     if (Auth::has_access('reports.supplier')) {
         // Start Auth If
         if (is_null($campaign_id) && is_null($this->param('listid'))) {
             $data['data_supplier_campaigns'] = Model_Data_Supplier_Campaign::find('all');
             $this->template->title = "Data_supplier_campaigns";
             $this->template->content = View::forge('data/supplier/campaign/index', $data);
         } else {
             $list_data = array();
             $campaign_title = null;
             $column_headings = null;
             $stats = null;
             if (!is_null($this->param('listid'))) {
                 $list_data = array('1' => array((int) $this->param('listid')), '2' => array((int) $this->param('listid') + 30000), '3' => array((int) $this->param('listid') + 50000));
                 $all_lists = array($list_data[1][0], $list_data[2][0], $list_data[3][0]);
                 $stats = GAB\Dialler::full_list($list_data);
             } else {
                 $campaign = Model_Data_Supplier_Campaign::find($campaign_id);
                 $campaign_title = $campaign->title;
                 $all_lists = array();
                 foreach ($campaign->data_supplier_campaign_lists as $list) {
                     $list_data[$list->database_server_id][] = $list->list_id;
                     $all_lists[] = $list->list_id;
                 }
                 ksort($list_data);
                 $stats = GAB\Dialler::list_stats($list_data);
                 $conversions = GAB\Dialler::conversion_chart($list_data);
             }
             if (is_null($all_lists)) {
                 Session::set_flash('fail', 'We currently have no data for that campaign!');
             } else {
                 $list_dispositions = GAB\Debtsolv::get_dialler_list_disposition_report($all_lists)->as_array();
                 // Split Disposition list into referrals and pack outs
                 $pack_outs = array();
                 $pack_ins = array();
                 $referrals = array();
                 $total_values = array('pack_outs' => 0, 'pack_ins' => 0, 'payments' => 0);
                 $pack_out_clients = array();
                 foreach ($list_dispositions as $single_result) {
                     if ($single_result['Description'] == "Lead Completed") {
                         $pack_outs[] = $single_result;
                         $total_values['pack_outs'] = isset($total_values['pack_outs']) ? $total_values['pack_outs'] + $single_result['DI'] : $single_result['DI'];
                         if ($single_result['Pack In Date'] != '30-12-1899') {
                             $pack_ins[] = $single_result;
                             $pack_out_clients[] = $single_result['ClientID'];
                             $total_values['pack_ins'] = isset($total_values['pack_ins']) ? $total_values['pack_ins'] + $single_result['DI'] : $single_result['DI'];
                         }
                     }
                     $referrals[] = $single_result;
                 }
                 $payments = GAB\Debtsolv::get_paid_in_report($all_lists)->as_array();
                 foreach ($payments as $payment) {
                     $total_values['payments'] = isset($total_values['payments']) ? $total_values['payments'] + $payment['Total Payments'] : $payment['Total Payments'];
                 }
                 $column_headings = array();
                 if (count($stats) > 0) {
                     $col1 = reset($stats);
                     foreach ($col1 as $column_head => $column_text) {
                         $column_headings[] = $column_head;
                     }
                 }
                 $referrals_headings = array();
                 $exclude_headings = array('Pack In Date', 'DI', 'Product');
                 if (count($referrals) > 0) {
                     $col1 = reset($referrals);
                     foreach ($col1 as $column_head => $column_text) {
                         if (!in_array($column_head, $exclude_headings)) {
                             $referrals_headings[] = $column_head;
                         }
                     }
                 }
                 $pack_outs_headings = array();
                 $exclude_headings = array('Pack In Date', 'Referred Date', 'Call Back Date');
                 if (count($pack_outs) > 0) {
                     $col1 = reset($pack_outs);
                     foreach ($col1 as $column_head => $column_text) {
                         if (!in_array($column_head, $exclude_headings)) {
                             $pack_outs_headings[] = $column_head;
                         }
                     }
                 }
                 $pack_ins_headings = array();
                 $exclude_headings = array('Description', 'Referred Date', 'Last Contact Date', 'Call Back Date');
                 if (count($pack_ins) > 0) {
                     $col1 = reset($pack_ins);
                     foreach ($col1 as $column_head => $column_text) {
                         if (!in_array($column_head, $exclude_headings)) {
                             $pack_ins_headings[] = $column_head;
                         }
                     }
                 }
                 $payment_headings = array();
                 $exclude_headings = array('Reference');
                 if (count($payments) > 0) {
                     $col1 = reset($payments);
                     foreach ($col1 as $column_head => $column_text) {
                         if (!in_array($column_head, $exclude_headings)) {
                             $payment_headings[] = $column_head;
                         }
                     }
                 }
             }
             $this->template->title = 'Supplier Reports » ' . $campaign_title;
             $this->template->content = View::forge('reports/supplier', array('campaign_id' => $campaign_id, 'total_values' => $total_values, 'payment_headings' => $payment_headings, 'payments' => $payments, 'pack_in_headings' => $pack_ins_headings, 'pack_ins' => $pack_ins, 'pack_out_headings' => $pack_outs_headings, 'pack_outs' => $pack_outs, 'list_dispositions_headings' => $referrals_headings, 'list_dispositions' => $referrals, 'list_title' => $campaign_title, 'list_stats_headings' => $column_headings, 'list_stats' => $stats, 'conversions' => $conversions));
             // End Given Choices If
         }
         // End Auth If
     } else {
         Session::set_flash('fail', 'You do not have access to that section: This has been logged!');
         Response::redirect('/');
     }
 }