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('shop_domain', function (User $user) { return $user->shop ? '' . $user->shop->getSubdomain(false) . '' : ''; }) ->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', 'shop_domain', 'my_payment_methods', 'test_mode', 'action_login', 'action_delete']) ->make(true); } }