public function report()
 {
     $braintree_environment = Config::get('app.braintree_environment');
     $braintree_merchant_id = Config::get('app.braintree_merchant_id');
     $braintree_public_key = Config::get('app.braintree_public_key');
     $braintree_private_key = Config::get('app.braintree_private_key');
     $braintree_cse = Config::get('app.braintree_cse');
     $twillo_account_sid = Config::get('app.twillo_account_sid');
     $twillo_auth_token = Config::get('app.twillo_auth_token');
     $twillo_number = Config::get('app.twillo_number');
     $stripe_publishable_key = Config::get('app.stripe_publishable_key');
     $default_payment = Config::get('app.default_payment');
     $stripe_secret_key = Config::get('app.stripe_secret_key');
     $mail_driver = Config::get('mail.mail_driver');
     $email_name = Config::get('mail.from.name');
     $email_address = Config::get('mail.from.address');
     $mandrill_secret = Config::get('services.mandrill_secret');
     /* DEVICE PUSH NOTIFICATION DETAILS */
     $customer_certy_url = Config::get('app.customer_certy_url');
     $customer_certy_pass = Config::get('app.customer_certy_pass');
     $customer_certy_type = Config::get('app.customer_certy_type');
     $provider_certy_url = Config::get('app.provider_certy_url');
     $provider_certy_pass = Config::get('app.provider_certy_pass');
     $provider_certy_type = Config::get('app.provider_certy_type');
     $gcm_browser_key = Config::get('app.gcm_browser_key');
     /* DEVICE PUSH NOTIFICATION DETAILS END */
     $install = array('braintree_environment' => $braintree_environment, 'braintree_merchant_id' => $braintree_merchant_id, 'braintree_public_key' => $braintree_public_key, 'braintree_private_key' => $braintree_private_key, 'braintree_cse' => $braintree_cse, 'twillo_account_sid' => $twillo_account_sid, 'twillo_auth_token' => $twillo_auth_token, 'twillo_number' => $twillo_number, 'stripe_publishable_key' => $stripe_publishable_key, 'stripe_secret_key' => $stripe_secret_key, 'mail_driver' => $mail_driver, 'email_address' => $email_address, 'email_name' => $email_name, 'mandrill_secret' => $mandrill_secret, 'default_payment' => $default_payment, 'customer_certy_url' => $customer_certy_url, 'customer_certy_pass' => $customer_certy_pass, 'customer_certy_type' => $customer_certy_type, 'provider_certy_url' => $provider_certy_url, 'provider_certy_pass' => $provider_certy_pass, 'provider_certy_type' => $provider_certy_type, 'gcm_browser_key' => $gcm_browser_key);
     $start_date = Input::get('start_date');
     $end_date = Input::get('end_date');
     $submit = Input::get('submit');
     $walker_id = Input::get('walker_id');
     $owner_id = Input::get('owner_id');
     $status = Input::get('status');
     $start_time = date("Y-m-d H:i:s", strtotime($start_date));
     $end_time = date("Y-m-d H:i:s", strtotime($end_date));
     $start_date = date("Y-m-d", strtotime($start_date));
     $end_date = date("Y-m-d", strtotime($end_date));
     $query = DB::table('request')->leftJoin('owner', 'request.owner_id', '=', 'owner.id')->leftJoin('walker', 'request.confirmed_walker', '=', 'walker.id')->leftJoin('walker_type', 'walker.type', '=', 'walker_type.id');
     if (Input::get('start_date') && Input::get('end_date')) {
         $query = $query->where('request_start_time', '>=', $start_time)->where('request_start_time', '<=', $end_time);
     }
     if (Input::get('walker_id') && Input::get('walker_id') != 0) {
         $query = $query->where('request.confirmed_walker', '=', $walker_id);
     }
     if (Input::get('owner_id') && Input::get('owner_id') != 0) {
         $query = $query->where('request.owner_id', '=', $owner_id);
     }
     if (Input::get('status') && Input::get('status') != 0) {
         if ($status == 1) {
             $query = $query->where('request.is_completed', '=', 1);
         } else {
             $query = $query->where('request.is_cancelled', '=', 1);
         }
     } else {
         $query = $query->where(function ($que) {
             $que->where('request.is_completed', '=', 1)->orWhere('request.is_cancelled', '=', 1);
         });
     }
     $walks = $query->select('request.request_start_time', 'walker_type.name as type', 'request.ledger_payment', 'request.card_payment', 'owner.first_name as owner_first_name', 'owner.last_name as owner_last_name', 'walker.first_name as walker_first_name', 'walker.last_name as walker_last_name', 'owner.id as owner_id', 'walker.id as walker_id', 'request.id as id', 'request.created_at as date', 'request.is_started', 'request.is_walker_arrived', 'request.payment_mode', 'request.is_completed', 'request.is_paid', 'request.is_walker_started', 'request.confirmed_walker', 'request.status', 'request.time', 'request.distance', 'request.total', 'request.is_cancelled', 'request.promo_payment');
     $walks = $walks->orderBy('id', 'DESC')->paginate(10);
     $query = DB::table('request')->leftJoin('owner', 'request.owner_id', '=', 'owner.id')->leftJoin('walker', 'request.confirmed_walker', '=', 'walker.id')->leftJoin('walker_type', 'walker.type', '=', 'walker_type.id');
     if (Input::get('start_date') && Input::get('end_date')) {
         $query = $query->where('request_start_time', '>=', $start_time)->where('request_start_time', '<=', $end_time);
     }
     if (Input::get('walker_id') && Input::get('walker_id') != 0) {
         $query = $query->where('request.confirmed_walker', '=', $walker_id);
     }
     if (Input::get('owner_id') && Input::get('owner_id') != 0) {
         $query = $query->where('request.owner_id', '=', $owner_id);
     }
     $completed_rides = $query->where('request.is_completed', 1)->count();
     $query = DB::table('request')->leftJoin('owner', 'request.owner_id', '=', 'owner.id')->leftJoin('walker', 'request.confirmed_walker', '=', 'walker.id')->leftJoin('walker_type', 'walker.type', '=', 'walker_type.id');
     if (Input::get('start_date') && Input::get('end_date')) {
         $query = $query->where('request_start_time', '>=', $start_time)->where('request_start_time', '<=', $end_time);
     }
     if (Input::get('walker_id') && Input::get('walker_id') != 0) {
         $query = $query->where('request.confirmed_walker', '=', $walker_id);
     }
     if (Input::get('owner_id') && Input::get('owner_id') != 0) {
         $query = $query->where('request.owner_id', '=', $owner_id);
     }
     $cancelled_rides = $query->where('request.is_cancelled', 1)->count();
     $query = DB::table('request')->leftJoin('owner', 'request.owner_id', '=', 'owner.id')->leftJoin('walker', 'request.confirmed_walker', '=', 'walker.id')->leftJoin('walker_type', 'walker.type', '=', 'walker_type.id');
     if (Input::get('start_date') && Input::get('end_date')) {
         $query = $query->where('request_start_time', '>=', $start_time)->where('request_start_time', '<=', $end_time);
     }
     if (Input::get('walker_id') && Input::get('walker_id') != 0) {
         $query = $query->where('request.confirmed_walker', '=', $walker_id);
     }
     if (Input::get('owner_id') && Input::get('owner_id') != 0) {
         $query = $query->where('request.owner_id', '=', $owner_id);
     }
     $card_payment = $query->where('request.is_completed', 1)->sum('request.card_payment');
     $query = DB::table('request')->leftJoin('owner', 'request.owner_id', '=', 'owner.id')->leftJoin('walker', 'request.confirmed_walker', '=', 'walker.id')->leftJoin('walker_type', 'walker.type', '=', 'walker_type.id');
     if (Input::get('start_date') && Input::get('end_date')) {
         $query = $query->where('request_start_time', '>=', $start_time)->where('request_start_time', '<=', $end_time);
     }
     if (Input::get('walker_id') && Input::get('walker_id') != 0) {
         $query = $query->where('request.confirmed_walker', '=', $walker_id);
     }
     if (Input::get('owner_id') && Input::get('owner_id') != 0) {
         $query = $query->where('request.owner_id', '=', $owner_id);
     }
     $credit_payment = $query->where('request.is_completed', 1)->sum('request.ledger_payment');
     $cash_payment = $query->where('request.payment_mode', 1)->sum('request.total');
     if (Input::get('submit') && Input::get('submit') == 'Download_Report') {
         header('Content-Type: text/csv; charset=utf-8');
         header('Content-Disposition: attachment; filename=data.csv');
         $handle = fopen('php://output', 'w');
         $settings = Settings::where('key', 'default_distance_unit')->first();
         $unit = $settings->value;
         if ($unit == 0) {
             $unit_set = 'kms';
         } elseif ($unit == 1) {
             $unit_set = 'miles';
         }
         fputcsv($handle, array('ID', 'Date', 'Type of Service', 'Provider', 'Owner', 'Distance (' . $unit_set . ')', 'Time (Minutes)', 'Payment Mode', 'Earning', 'Referral Bonus', 'Promotional Bonus', 'Card Payment'));
         foreach ($walks as $request) {
             $pay_mode = "Card Payment";
             if ($request->payment_mode == 1) {
                 $pay_mode = "Cash Payment";
             }
             fputcsv($handle, array($request->id, date('l, F d Y h:i A', strtotime($request->request_start_time)), $request->type, $request->walker_first_name . " " . $request->walker_last_name, $request->owner_first_name . " " . $request->owner_last_name, sprintf2($request->distance, 2), sprintf2($request->time, 2), $pay_mode, sprintf2($request->total, 2), sprintf2($request->ledger_payment, 2), sprintf2($request->promo_payment, 2), sprintf2($request->card_payment, 2)));
         }
         fputcsv($handle, array());
         fputcsv($handle, array());
         fputcsv($handle, array('Total Trips', $completed_rides + $cancelled_rides));
         fputcsv($handle, array('Completed Trips', $completed_rides));
         fputcsv($handle, array('Cancelled Trips', $cancelled_rides));
         fputcsv($handle, array('Total Payments', sprintf2($credit_payment + $card_payment, 2)));
         fputcsv($handle, array('Card Payment', sprintf2($card_payment, 2)));
         fputcsv($handle, array('Credit Payment', $credit_payment));
         fclose($handle);
         $headers = array('Content-Type' => 'text/csv');
     } else {
         /* $currency_selected = Keywords::where('alias', 'Currency')->first();
            $currency_sel = $currency_selected->keyword; */
         $currency_sel = Config::get('app.generic_keywords.Currency');
         $walkers = Walker::get();
         $owners = Owner::get();
         $title = ucwords(trans('customize.Dashboard'));
         return View::make('dashboard')->with('title', $title)->with('page', 'dashboard')->with('walks', $walks)->with('owners', $owners)->with('walkers', $walkers)->with('completed_rides', $completed_rides)->with('cancelled_rides', $cancelled_rides)->with('card_payment', $card_payment)->with('install', $install)->with('currency_sel', $currency_sel)->with('cash_payment', $cash_payment)->with('credit_payment', $credit_payment);
     }
 }
Example #2
0
 public function test()
 {
     // $owner = Owner::get_by_email('*****@*****.**');
     // var_dump($owner);
     $owners = Owner::get(['email' => '*****@*****.**']);
 }