128 lines
3.1 KiB
PHP
128 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Models\User;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
|
|
class AdminUserController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of the resource.
|
|
*/
|
|
public function index()
|
|
{
|
|
// $users = User::where('role', 'User')
|
|
// ->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,
|
|
]);
|
|
}
|
|
}
|
|
}
|