Spaces:
Sleeping
Sleeping
| namespace App\Http\Controllers\Admin; | |
| use App\Http\Controllers\Controller; | |
| use App\Models\User; | |
| use Illuminate\Http\Request; | |
| class UserController extends Controller | |
| { | |
| public function index(Request $request) | |
| { | |
| $query = User::query(); | |
| if ($request->filled('role')) { | |
| $query->where('role', $request->role); | |
| } | |
| if ($request->filled('q')) { | |
| $s = $request->q; | |
| $query->where(fn($q) => $q->where('name', 'like', "%{$s}%")->orWhere('email', 'like', "%{$s}%")); | |
| } | |
| $users = $query->latest()->paginate(20); | |
| return view('admin.users.index', compact('users')); | |
| } | |
| public function update(Request $request, User $user) | |
| { | |
| $request->validate(['role' => 'required|in:admin,organizer,customer']); | |
| $user->update(['role' => $request->role]); | |
| return back()->with('success', "Role user \"{$user->name}\" berhasil diupdate ke {$request->role}."); | |
| } | |
| public function destroy(User $user) | |
| { | |
| if ($user->id === auth()->id()) { | |
| return back()->with('error', 'Tidak bisa menghapus akun sendiri.'); | |
| } | |
| $user->delete(); | |
| return back()->with('success', 'User berhasil dihapus.'); | |
| } | |
| } | |