orderByRaw("FIELD(status, 'Progress', 'Finished', 'Rejected') ASC") // ->latest() // ->get(); $users = User::where('role', 'User') ->orderByRaw("CASE WHEN status = 'Progress' THEN 1 WHEN status = 'Finished' THEN 2 WHEN status = 'Rejected' THEN 3 ELSE 4 END ASC") ->latest() ->get(); return view('admin.users.index', ['users' => $users]); } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { // } /** * Display the specified resource. */ public function show($id) { $user = User::find($id); return view('admin.users.detail-user', ['user' => $user]); } /** * Show the form for editing the specified resource. */ public function edit(User $user) { // } /** * Update the specified resource in storage. */ public function update(Request $request, $id) { return response()->json([ 'user' => $request, 'id' => $id, ]); } /** * Remove the specified resource from storage. */ public function destroy($id) { try { $result = User::destroy($id); if ($result) { return response()->json([ 'message' => 'Berhasil hapus data', 'status' => true, ]); } } catch (\Exception $e) { return response()->json([ 'message' => 'Gagal hapus data, karena ' . $e, 'status' => false, ]); } } public function approveUser($id) { $user = User::findOrFail($id); $user->status = 'Finished'; $result = $user->save(); if ($result) { return response()->json([ 'message' => 'Akun telah disetujui dan dapat digunakan', 'status' => true, ]); } else { return response()->json([ 'message' => 'Akun gagal disetujui karena ' + $result, 'status' => false, ]); } } public function denyUser($id) { $user = User::findOrFail($id); $user->status = 'Rejected'; $result = $user->save(); if ($result) { return response()->json([ 'message' => 'Akun telah ditolak dan tidak dapat digunakan', 'status' => true, ]); } else { return response()->json([ 'message' => 'Akun gagal ditolak karena ' + $result, 'status' => false, ]); } } }