middleware('superadmin'); $this->userRepo = $userRepo; } /** * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index() { $data = [ //'values' => User::where('admin', 0)->get(), 'values' => User::where('confirmation_code_remider', '!=', 2)->get(), ]; return view('admin.user.index', $data); } public function edit($user_id) { $user = User::findOrFail($user_id); if(!$user->account){ $user->account = new UserAccount(); } $data = [ 'user' => $user, ]; return view('admin.user.edit', $data); } /** * @param Request $request * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View */ public function store(Request $request) { $data = Request::all(); $user = User::findOrFail($data['id']); /* if(isset($data['user-delete'])){ if(isset($data['realy_delete_user'])){ return redirect(route('admin_user_delete', [$user->id])); } }*/ if(isset($data['save-admin'])){ $user->admin = $data['admin']; SysLog::action('save-admin', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) ->setMessage('Set user admin value: '.HTMLHelper::getLabel($user->admin)) ->save(); } if(isset($data['save-confirmed'])){ $data['confirmed'] = isset($data['confirmed']) ? true : false; $user->confirmed = $data['confirmed']; if($data['confirmed']){ if(!isset($data['confirmation_date']) || $data['confirmation_date'] == ""){ $user->confirmation_date = now(); }else{ $user->confirmation_date = \Carbon::parse(str_replace("- ", "", $data['confirmation_date'])); } }else{ $user->confirmation_date = null; } SysLog::action('save-confirmed', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) ->setMessage('Set user confirmed value: '.$user->confirmed." to date: ".$data['confirmation_date']) ->save(); } if(isset($data['save-active'])){ $data['active'] = isset($data['active']) ? true : false; $user->active = $data['active']; if($data['active'] === true && $user->wizard < 20){ $user->wizard = 20; } if($data['active']){ if(!isset($data['active_date']) || $data['active_date'] == ""){ $user->active_date = now(); }else{ $user->active_date = \Carbon::parse(str_replace("- ", "", $data['active_date'])); } }else{ $user->active_date = null; } SysLog::action('save-active', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) ->setMessage('Set user active value: '.$user->active." to date: ".$data['active_date']) ->save(); } if(isset($data['save-account'])){ $old = $user->getPaymentAccountDateFormat(true); if(!isset($data['payment_account']) || $data['payment_account'] == ""){ $user->payment_account = null; }else{ $user->wizard = 100; $payment_account = \Carbon::parse(str_replace("- ", "", $data['payment_account'])); $user->payment_account = $payment_account; if($payment_account > Carbon::now()){ if($user->active === 0){ $user->active = true; UserUtil::reactiveUserResetChilds($user->id, 'on save-account AdminUserController'); } }else{ if($user->active === 1){ $user->active = false; UserUtil::deactiveUserNewSponsorChilds($user->id, 'on save-account AdminUserController'); } } } //th.schifferegger@gmail.com SysLog::action('save-account', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) ->setMessage('Set user payment_account from date: '.$old." to date: ".$data['payment_account']) ->save(); } if(isset($data['save-shop'])){ $old = $user->getPaymentShopDateFormat(true); if(!isset($data['payment_shop']) || $data['payment_shop'] == ""){ $user->payment_shop = null; }else{ $user->wizard = 100; $user->payment_shop = \Carbon::parse(str_replace("- ", "", $data['payment_shop'])); } SysLog::action('save-shop', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) ->setMessage('Set user payment_shop from date: '.$old." to date: ".$data['payment_shop']) ->save(); } if(isset($data['save-test_mode'])){ $user->test_mode = isset($data['test_mode']) ? true : false; SysLog::action('save-test_mode', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) ->setMessage('Set user test_mode value: '.$user->test_mode) ->save(); } if(isset($data['save-payment_methods'])){ $user->payment_methods = isset($data['payment_methods']) ? array_map('intval', $data['payment_methods']) : null; SysLog::action('save-payment_methods', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) ->setMessage('Set user payment_methods value: '.$user->getPaymentMethodsShort()) ->save(); } $user->save(); \Session()->flash('alert-save', true); return redirect('/admin/users'); } public function deleteUser() { $data = Request::all(); $user = User::withTrashed()->findOrFail($data['id']); if(isset($data['realy_delete_user'])){ $this->userRepo->deleteUser($user); \Session()->flash('alert-success', __('msg.contact_delete')); } if(isset($data['realy_delete_user_complete'])){ // $this->userRepo->deleteUserComplete($user); $this->userRepo->deleteUser($user, true); \Session()->flash('alert-success', __('msg.contact_delete')); } return redirect('/admin/users'); } public function userLoginAs($userId){ if(Auth::user()->isSuperAdmin()){ $user = User::find($userId); Auth::login($user); return redirect('/home'); } } public function getUsers() { $query = User::withTrashed() ->where(function($q) { $q->where('pre_deleted_at', '!=', null) ->orWhere(function($query) { $query->whereNull('deleted_at') ->whereNull('pre_deleted_at'); }); }) ->with('account') ->select('users.*') ->where('users.admin', "<", 5); return \DataTables::eloquent($query) ->addColumn('first_name', function (User $user) { return $user->account ? $user->account->first_name : ''; }) ->addColumn('email', function (User $user) { if($user->pre_deleted_at){ return ''.$user->email.''; } return $user->email; }) ->addColumn('last_name', function (User $user) { return $user->account ? $user->account->last_name : ''; }) ->addColumn('id', function (User $user) { return ''; }) ->addColumn('admin', function (User $user) { return ''.HTMLHelper::getRoleLabel($user->admin).''; }) ->addColumn('confirmed', function (User $user) { $date = $user->getConfirmationDateFormat(); $link = ''; return $user->confirmed ? $link.' '.$date.'' : $link.''; }) ->addColumn('active', function (User $user) { $date = $user->getActiveDateFormat(); $link = ''; return $user->active ? $link.' '.$date.'' : $link.''; }) ->addColumn('account', function (User $user) { $date = $user->getPaymentAccountDateFormat(); $link = ''; if($user->payment_account){ if($user->isActiveAccount()){ return $link.' '.$date.''; } return $link.' '.$date.''; } return $link.''; }) ->addColumn('shop', function (User $user) { $date = $user->getPaymentShopDateFormat(); $link = ''; if($user->payment_shop){ if($user->isActiveShop()){ return $link.' '.$date.''; } return $link.' '.$date.''; } return $link.''; }) ->addColumn('since', function (User $user) { if($user->shop){ if($user->shop->active){ return $user->shop->getActiveDateFormatSmall(); } return $user->shop->getActiveDateFormatSmall(); } return "-"; }) ->addColumn('country', function (User $user) { return ($user->account && $user->account->country) ? $user->account->country->de : ''; }) ->addColumn('my_payment_methods', function (User $user) { $payment_methods = json_encode($user->payment_methods); $link = ''; if(!$user->payment_methods){ return $link.''; } return $link.' '.$user->getPaymentMethodsShort().''; }) ->addColumn('action_login', function (User $user) { return ''; }) ->addColumn('action_delete', function (User $user) { return ''; }) ->addColumn('test_mode', function (User $user) { $link = ''; return $user->test_mode ? $link.'' : $link.''; }) ->orderColumn('id', 'id $1') ->orderColumn('email', 'email $1') ->orderColumn('confirmed', 'confirmed $1') ->orderColumn('active', 'active $1') ->orderColumn('shop', 'shop $1') ->orderColumn('admin', 'active $1') ->rawColumns(['id', 'email', 'admin', 'confirmed', 'active', 'account', 'shop', 'my_payment_methods', 'test_mode', 'action_login', 'action_delete']) ->make(true); } }