middleware('auth'); $this->startYear = 2021; $this->endYear = date('Y'); $this->rangeYears = range($this->startYear, $this->endYear); $this->activeYear = $this->endYear; } public function paycredit() { $data = [ 'user' => \Auth::user() ]; return view('user.payment.paycredit', $data); } public function paycredit_datatable(){ $user = \Auth::user(); $query = UserPayCredit::select('user_pay_credits.*')->where('user_id', $user->id); return \DataTables::eloquent($query) ->addColumn('message', function (UserPayCredit $user_pay_credit) { if($user_pay_credit->status === 3){ return nl2br($user_pay_credit->message); }else{ return trans('payment.'.$user_pay_credit->message). '   '; } }) ->addColumn('credit', function (UserPayCredit $user_pay_credit) { return formatNumber($user_pay_credit->credit)." €"; }) ->addColumn('old_credit_total', function (UserPayCredit $user_pay_credit) { return formatNumber($user_pay_credit->old_credit_total)." €"; }) ->addColumn('new_credit_total', function (UserPayCredit $user_pay_credit) { return formatNumber($user_pay_credit->new_credit_total)." €"; }) ->addColumn('created_at', function (UserPayCredit $user_pay_credit) { return formatDate($user_pay_credit->created_at); }) ->orderColumn('message', 'message $1') ->orderColumn('txaction', 'txaction $1') ->orderColumn('credit', 'credit $1') ->orderColumn('created_at', 'created_at $1') ->rawColumns(['message']) ->make(true); } public function credit() { $user = \Auth::user(); $data = [ 'user' => $user, ]; return view('user.payment.credit', $data); } public function credit_datatable(){ $user = \Auth::user(); $query = UserCredit::with('user', 'user.account')->select('user_credits.*')->where('auth_user_id', $user->id); return \DataTables::eloquent($query) ->addColumn('total', function (UserCredit $UserCredit) { return $UserCredit->getFormattedTotal()." €"; }) ->addColumn('user_margins', function (UserCredit $UserCredit) { $ret = ""; if($UserCredit->user_margins){ foreach($UserCredit->user_margins as $user_margin){ $ret .= $user_margin->firstname."/".$user_margin->lastname."/".$user_margin->reference."/".$user_margin->created_at."
"; } } if($UserCredit->user_credits){ foreach($UserCredit->user_credits as $user_credit){ $ret .= nl2br($user_credit->message)." / ".$user_credit->created_at."
"; } } return $ret; }) /* ->addColumn('txaction', function (ShoppingOrder $ShoppingOrder) { return Payment::getShoppingOrderBadge($ShoppingOrder); })*/ ->addColumn('credit', function (UserCredit $UserCredit) { $ret = ""; if(Credit::isCredit($UserCredit)){ $ret .= ' '; $ret .= ''; }else{ $ret = "-"; } return $ret; }) ->addColumn('status', function (UserCredit $UserCredit) { return ''.$UserCredit->getStatusType().' '; }) ->orderColumn('id', 'id $1') ->orderColumn('status', 'status $1') ->orderColumn('total', 'total $1') ->rawColumns(['shipping_order', 'total', 'credit', 'status', 'user_margins']) ->make(true); } private function setActiveYears(){ if(Request::get('filter_year')){ $this->activeYear = Request::get('filter_year'); } } public function revenue() { $this->setActiveYears(); $user = \Auth::user(); $data = [ 'user' => $user, 'years' => $this->rangeYears, 'active_year' => $this->activeYear, 'months' => range(1, 12), ]; return view('user.payment.revenue', $data); } }