/** * Show all transactions with filter and query. * * @return \Illuminate\View\View */ public function index() { /* * -------------------------------------------------------------------------- * Filtering transaction * -------------------------------------------------------------------------- * Populate optional filter on url break down in data, sorting by and sorting * method, retrieve the transaction. */ $filter_data = Input::has('data') ? Input::get('data') : 'all'; $filter_status = Input::has('status') ? Input::get('status') : 'all'; $filter_by = Input::has('by') ? Input::get('by') : 'date'; $filter_sort = Input::has('sort') ? Input::get('sort') : 'desc'; $query = Input::has('query') ? Input::get('query') : null; $countWithdrawal = Transaction::where('type', Transaction::TYPE_WITHDRAWAL)->count(); $countReward = Transaction::where('type', Transaction::TYPE_REWARD)->count(); $sumWithdrawal = Transaction::where('type', Transaction::TYPE_WITHDRAWAL)->sum('amount'); $sumReward = Transaction::where('type', Transaction::TYPE_REWARD)->sum('amount'); $transaction = new Transaction(); $transactions = $transaction->retrieveTransaction($filter_data, $filter_status, $filter_by, $filter_sort, $query)->paginate(10); return view('admin.transaction.index', compact('transactions', 'countWithdrawal', 'countReward', 'sumWithdrawal', 'sumReward')); }