/** 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()); }
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]); }
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]); }