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);
}elseif($user_pay_credit->status === 5 || $user_pay_credit->status === 6){
return trans('payment.'.$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);
}
}