ajax()) {
$data = User::where('role', 'mahasiswa')->get();
return DataTables::of($data)
->addColumn('action', function($row){
$button = '';
$button .= ' ';
return $button;
})
->rawColumns(['action'])
->make(true);
}
return view('pages.tables.Mahasiswa');
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
// Validasi data yang dikirim oleh pengguna
$request->validate([
'nim' => 'required',
'name' => 'required',
'angkatan' => 'required',
]);
try {
// Simpan data mahasiswa ke dalam database
User::create([
'nim' => $request->nim,
'name' => $request->name,
'angkatan' => $request->angkatan,
]);
// Berikan respons sukses jika penyimpanan berhasil
return response()->json(['success' => 'Data mahasiswa berhasil ditambahkan.']);
} catch (\Exception $e) {
// Tangani kesalahan jika terjadi
\Log::error($e->getMessage());
return response()->json(['error' => 'Terjadi kesalahan. Silakan coba lagi.'], 500);
}
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
$user = User::find($id);
return response()->json($user);
}
public function update(Request $request, $id)
{
$request->validate([
'nim' => 'sometimes|required',
'name' => 'sometimes|required',
'angkatan' => 'sometimes|required|numeric',
]);
$user = User::find($id);
if ($user) {
// Memperbarui bidang-bidang yang ada dalam permintaan
if ($request->has('edit_nim')) {
$user->nim = $request->edit_nim;
}
if ($request->has('edit_name')) {
$user->name = $request->edit_name;
}
if ($request->has('edit_angkatan')) {
$user->angkatan = $request->edit_angkatan;
}
// Menyimpan perubahan
$user->save();
return response()->json(['message' => 'Data mahasiswa berhasil diperbarui.']);
} else {
return response()->json(['error' => 'Data mahasiswa tidak ditemukan.'], 404);
}
}
/**
* Remove the specified resource from storage.
*/
public function destroy(Request $request)
{
// Validasi request
$request->validate([
'id' => 'required|exists:users,id',
]);
try {
// Ambil ID pengguna dari permintaan
$userId = $request->input('id');
// Hapus pengguna dari database
User::destroy($userId);
// Berhasil menghapus, kembalikan respons berhasil
return response()->json(['success' => 'Pengguna berhasil dihapus.']);
} catch (\Exception $e) {
// Tangani kesalahan
// Misalnya, log pesan kesalahan
\Log::error($e->getMessage());
// Kembalikan respons dengan pesan kesalahan yang sesuai
return response()->json(['error' => 'Terjadi kesalahan saat menghapus pengguna.'], 500);
}
}
}