middleware('auth'); $this->filter_user_status = 'all'; } public function index() { $this->setActiveFilter(); $data = [ 'filter_user_status' => $this->filter_user_status, ]; return view('admin.payment.pay_credit.index', $data); } private function setActiveFilter(){ if(Request::get('filter_user_status')){ $this->filter_user_status = Request::get('filter_user_status'); } } public function store(){ $data = Request::all(); if(isset($data['action']) && $data['action'] === 'add-user-pay-credit'){ $add_credit_error = false; if(!isset($data['member_id']) || !$user = User::find($data['member_id'])){ $add_credit_error = 'Vertriebspartner nicht gefunden'; } if(!isset($data['credit'])){ $add_credit_error = 'Bitte Betrag eingeben'; } if(!isset($data['message'])){ $add_credit_error = 'Bitte Mitteilung eingeben'; } if($add_credit_error){ $this->setActiveFilter(); $data = [ 'filter_user_status' => $this->filter_user_status, 'add_credit_error' => $add_credit_error, ]; return view('admin.payment.pay_credit.index', $data); } $credit = Util::reFormatNumber($data['credit']); $credit = number_format($credit, 2, '.', ''); Payment::addUserPayCredits($user, $credit, 3, $data['message']); \Session()->flash('alert-success', "Einkaufsguthaben aufgeladen"); } return redirect(route('admin_payments_paycredit')); } public function delete($id){ $UserPayCredit = UserPayCredit::findOrFail($id); if($UserPayCredit->status === 3 && $deleteTime = $UserPayCredit->deleteTime()){ $user = $UserPayCredit->user; $credit = $UserPayCredit->credit; $user->payment_credit = $user->payment_credit - $credit; $user->save(); $UserPayCredit->delete(); \Session()->flash('alert-success', "Guthaben ist gelöscht"); }else{ \Session()->flash('alert-error', "Guthaben kann nicht gelöscht werden"); } return redirect(route('admin_payments_paycredit')); } public function datatable(){ $this->setActiveFilter(); $query = User::with('account')->select('users.*')->where('users.deleted_at', '=', null) ->where('active', true); //->orderBy('created_at', 'DESC'); return \DataTables::eloquent($query) ->addColumn('id', function (User $user) { return ''; }) ->addColumn('first_name', function (User $user) { return $user->account ? $user->account->first_name : ''; }) ->addColumn('last_name', function (User $user) { return $user->account ? $user->account->last_name : ''; }) ->addColumn('payment_credit', function (User $user) { return $user->payment_credit ? $user->getFormattedPaymentCredit().' €' : ''; }) ->addColumn('is_active_account', function (User $user) { if($user->payment_account){ if($user->isActiveAccount()){ return ''; } return ''; } return ''; }) ->addColumn('action', function (User $user) { return ''; }) ->orderColumn('id', 'id $1') ->orderColumn('txaction', 'txaction $1') ->orderColumn('payment_credit', 'payment_credit $1') ->orderColumn('is_active_account', 'is_active_account $1') ->rawColumns(['id', 'shipping_order', 'is_active_account', 'action']) ->make(true); } }