/** API methods **/
 public function authGateway(Request $request)
 {
     $data = $request->only(['key']);
     $validator = Validator::make($data, ['key' => 'required']);
     if ($validator->fails()) {
         return validatorError($validator->errors());
     }
     $gateway = Gateway::where('access_key', $data['key'])->first();
     if ($gateway == null) {
         return errorResponse('gateway_not_found', 404);
     }
     return successResponse($gateway->authResponse());
 }
Example #2
0
 public function event(Request $request, $prefix)
 {
     $race = Race::where('prefix', $prefix)->first();
     $type = $request->session()->get('type');
     if (is_null($type) && $race->closed == true) {
         return redirect($prefix);
     }
     if (is_null($race)) {
         abort(404);
     }
     if ($race->masked_events == true) {
         $events = $race->events()->groupBy('mask')->enabled()->get();
     } else {
         $events = $race->events()->enabled()->get();
     }
     $payments = $race->payments()->where('active', true)->get();
     $gateways = Gateway::where('enabled', true)->get();
     return view('enroll.event')->with(['race' => $race, 'events' => $events, 'payments' => $payments, 'gateways' => $gateways, 'type' => $type]);
 }
Example #3
0
 public function search(Request $request, $race_id)
 {
     $race = Race::find($race_id);
     $gateways = Gateway::where('enabled', true)->get();
     $gateway_list = $gateways->lists('name', 'id');
     $runners = [];
     $codes = [];
     $transactions = [];
     if (!($criteria = $request->get('criteria'))) {
         $criteria = '';
     }
     if (!($type = $request->get('type'))) {
         $type = '';
     }
     if (!($runner_status = $request->get('runner_status'))) {
         $runner_status = '';
     }
     if (!($payment_id = $request->get('payment_id'))) {
         $payment_id = '';
     }
     if (!($code_status = $request->get('code_status'))) {
         $code_status = '';
     }
     if (!($transaction_status = $request->get('transaction_status'))) {
         $transaction_status = '';
     }
     if (!($gateway_id = $request->get('gateway_id'))) {
         $gateway_id = '';
     }
     if (!($date = $request->get('date'))) {
         $date = '';
     }
     if ($request->has('criteria')) {
         switch ($type) {
             case 'runner_name':
                 $runners_query = Runner::where([['last_name_01', 'like', '%' . $criteria . '%'], ['race_id', $race->id]]);
                 break;
             case 'runner_doc':
                 $runners_query = Runner::where([['doc_num', $criteria], ['race_id', $race->id]]);
                 break;
             case 'runner_bib':
                 $runners_query = Runner::where([['bib', $criteria], ['race_id', $race->id]]);
                 break;
             case 'code':
                 $codes = Code::where([['code', 'like', '%' . $criteria . '%'], ['race_id', $race->id]]);
                 if ($code_status < 2) {
                     $codes = $codes->where('status', $code_status);
                 }
                 $codes = $codes->get();
                 break;
             case 'transaction':
                 $transactions = Transaction::where('id', $criteria);
                 if ($transaction_status > 3) {
                     $transactions = $transactions->where('status', $transaction_status);
                 }
                 if ($gateway_id > 0) {
                     $transactions = $transactions->where('gateway_id', $gateway_id);
                 }
                 $transactions = $transactions->get();
                 break;
             default:
                 $runners_query = Runner::where('last_name_01', 'like', '%' . $criteria . '%')->get();
                 break;
         }
         if (!empty($runners_query)) {
             if ($runner_status < 2) {
                 $runners_query = $runners_query->where('status', $runner_status);
             }
             if ($payment_id > 0) {
                 $runners_query = $runners_query->where('payment_id', $payment_id);
             }
             $runners = $runners_query->get();
         }
     }
     return view('admin.search')->with(['race' => $race, 'runners' => $runners, 'codes' => $codes, 'transactions' => $transactions, 'gateway_list' => $gateway_list, 'criteria' => $criteria, 'type' => $type, 'date' => $date, 'runner_status' => $runner_status, 'code_status' => $code_status, 'transaction_status' => $transaction_status, 'payment_id' => $payment_id, 'gateway_id' => $gateway_id]);
 }