authorizeResource(User::class, 'user', [ 'except' => ['show'], ]); } public function index(): View { $users = User::query()->orderBy('name')->paginate(25); return view('admin.users.index', compact('users')); } public function create(): View { return view('admin.users.create'); } public function store(StoreUserRequest $request): RedirectResponse { $data = $request->validated(); $data['password'] = Hash::make($data['password']); User::query()->create($data); return redirect() ->route('admin.users.index') ->with('status', __('User created.')); } public function edit(User $user): View { return view('admin.users.edit', compact('user')); } public function update(UpdateUserRequest $request, User $user): RedirectResponse { $data = $request->validated(); if ($request->filled('password')) { $data['password'] = Hash::make($data['password']); } else { unset($data['password']); } $user->update($data); return redirect() ->route('admin.users.index') ->with('status', __('User updated.')); } public function destroy(User $user): RedirectResponse { $user->delete(); return redirect() ->route('admin.users.index') ->with('status', __('User deleted.')); } }