'aktiv', 2 => 'nicht aktiv', 3 => 'alle']; public function __construct() { $this->middleware('admin'); } public function show() { $this->setFilterVars(); $data = [ 'filter_months' => HTMLHelper::$months, 'filter_years' => HTMLHelper::getYearRange(), 'filter_active' => $this->filter_active, ]; return view('admin.business.show', $data); } public function structure() { $this->setFilterVars(); $TreeCalcBot = new TreeCalcBot(session('business_user_filter_month'), session('business_user_filter_year'), 'admin'); $TreeCalcBot->initMain(); $data = [ 'filter_months' => HTMLHelper::$months, 'filter_years' => HTMLHelper::getYearRange(), 'TreeCalcBot' => $TreeCalcBot, ]; return view('admin.business.structure', $data); } public function userDetail($user_id) { $user = User::findOrFail($user_id); $this->setFilterVars(); $TreeCalcBot = new TreeCalcBot(session('business_user_filter_month'), session('business_user_filter_year'), 'admin'); $TreeCalcBot->initDetailUser($user); if(!$TreeCalcBot->user){ abort(403, 'no user found'); } $data = [ 'month' => HTMLHelper::getMonth(session('business_user_filter_month')), 'year' => session('business_user_filter_year'), 'TreeCalcBot' => $TreeCalcBot, 'user' => $user, ]; return view('admin.business.user_detail', $data); } private function setFilterVars(){ if(!session('business_user_filter_month')){ session(['business_user_filter_month' => intval(date('m'))]); } if(!session('business_user_filter_year')){ session(['business_user_filter_year' => intval(date('Y'))]); } if(!session('business_user_filter_active')){ session(['business_user_filter_active' => 1]); } if(Request::get('business_user_filter_name')){ session(['business_user_filter_name' => Request::get('business_user_filter_name')]); } if(Request::get('business_user_filter_active')){ session(['business_user_filter_active' => Request::get('business_user_filter_active')]); } if(Request::get('business_user_filter_month')){ session(['business_user_filter_month' => Request::get('business_user_filter_month')]); } if(Request::get('business_user_filter_year')){ session(['business_user_filter_year' => Request::get('business_user_filter_year')]); } } private function initSearch($archive = false, $request = true) { $this->setFilterVars(); $this->month = Request::get('business_user_filter_month'); $this->year = Request::get('business_user_filter_year'); $query = User::with('account')->select('users.*') ->where('users.deleted_at', '=', null) ->where('users.id', '!=', 1) ->where('users.admin', "<", 4) ->where('users.m_level', "!=", null) ->where('users.payment_account', "!=", null); if(Request::get('business_user_filter_active')){ if(Request::get('business_user_filter_active') == 1){ $query->where('users.payment_account', ">=", now()); } if(Request::get('business_user_filter_active') == 2){ $query->where('users.payment_account', "<", now()); } if(Request::get('business_user_filter_active') == 3){ //both -> payment_account only not null } } if(Request::get('business_user_filter_name')){ //$query->where('users.account.first_name', 'LIKE', '%'.Request::get('business_user_filter_name').'%'); //$query->where('users.account.last_name', 'LIKE', '%'.Request::get('business_user_filter_name').'%'); //$query->where('users.account.m_account', 'LIKE', '%'.Request::get('business_user_filter_name').'%'); //$query->where('users.email', 'LIKE', '%'.Request::get('business_user_filter_name').'%'); } //->orderBy('created_at', 'DESC'); /* $query = FlexHour::leftJoin("flex_hour_items", function($join) { $join->on("flex_hour_items.flex_hour_id","=","flex_hours.id"); $join->where("flex_hour_items.date","=", FlexHourItemBot::$date); })*/ return $query; } public function userDatatable() { $query = $this->initSearch(); return \DataTables::eloquent($query) ->addColumn('id', function (User $user) { return ''; // }) ->addColumn('user_level', function (User $user) { return $user->user_level ? $user->user_level->name : ''; }) ->addColumn('active_account', function (User $user) { return get_active_badge($user->isActiveAccount()); }) ->addColumn('payment_account_date', function (User $user) { return $user->payment_account ? $user->getPaymentAccountDateFormat(false) : "-"; }) ->addColumn('sales_volume_points', function (User $user) { return '
'.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points_sum').'
'. 'B: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points').' | S: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points_shop').''; }) ->addColumn('sales_volume_total', function (User $user) { return '
'.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total_sum').'
'. 'B: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total').' | S: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total_shop').''; }) ->addColumn('sponsor', function (User $user) { if($user->user_sponsor){ $sponsor = ""; if($user->user_sponsor->account){ $sponsor .= $user->user_sponsor->account->first_name." ".$user->user_sponsor->account->last_name; $sponsor .= "  ".'
'; } $sponsor .= ''.$user->email; if($user->user_sponsor->account){ $sponsor .= ' | '.$user->user_sponsor->account->m_account; } $sponsor .= ''; return $sponsor; } return '-'; return '
'.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total_sum').'
'. 'B: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total').' | S: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total_shop').''; }) ->addColumn('is_qual_kp', function (User $user) { if($user->user_level){ $qual_kp = $user->user_level->qual_kp; $sales_volume_points_sum = $user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points_sum'); $isQualKP = ($sales_volume_points_sum >= $qual_kp) ? true : false; return ' KD '.$qual_kp.''; } return '-'; }) /* ->addColumn('sales_volume_points', function (User $user) { return $user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points'); }) ->addColumn('sales_volume_points_shop', function (User $user) { return $user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points_shop'); }) ->addColumn('sales_volume_points_sum', function (User $user) { return $user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points_sum'); }) ->addColumn('sales_volume_total', function (User $user) { return $user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total'); }) ->addColumn('sales_volume_total_shop', function (User $user) { return $user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total_shop'); }) ->addColumn('sales_volume_total_sum', function (User $user) { return $user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total_sum'); })*/ ->orderColumn('id', 'id $1') ->orderColumn('m_account', 'm_account $1') ->orderColumn('first_name', 'first_name $1') ->orderColumn('last_name', 'last_name $1') ->orderColumn('user_level', 'm_level $1') ->orderColumn('active_account', 'payment_account $1') ->rawColumns(['id', 'is_qual_kp', 'confirmed', 'sales_volume_points', 'sales_volume_total', 'sponsor', 'active', 'active_account']) ->make(true); } }