60 lines
1.7 KiB
PHP
60 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
class DataUserController extends Controller
|
|
{
|
|
public function DataUser()
|
|
{
|
|
$users = User::where('role', 'user')->get();
|
|
return view('masterData.data-user',compact('users'));
|
|
}
|
|
|
|
public function edit($id)
|
|
{
|
|
$user = User::findOrFail($id); // Mencari user berdasarkan ID, jika tidak ditemukan akan mengembalikan 404
|
|
return view('masterData.data-user', compact('user')); // Mengirim data user ke view
|
|
}
|
|
|
|
// Function untuk memperbarui data user
|
|
public function update(Request $request, $id)
|
|
{
|
|
// Validasi input
|
|
$request->validate([
|
|
'nama' => 'required|string|max:255',
|
|
'email' => 'required|email|max:255',
|
|
'status' => 'required|in:active,inactive',
|
|
]);
|
|
|
|
// Mencari user berdasarkan ID
|
|
$user = User::findOrFail($id);
|
|
|
|
// Update data user
|
|
$user->name = $request->nama;
|
|
$user->email = $request->email;
|
|
$user->status = $request->status;
|
|
|
|
try {
|
|
$user->save(); // Menyimpan perubahan ke database
|
|
return redirect()->back()->with('success', 'User updated successfully');
|
|
} catch (\Throwable $th) {
|
|
return redirect()->back()->with('error', 'An error occurred')->withInput();
|
|
}
|
|
}
|
|
|
|
public function destroy($id)
|
|
{
|
|
try {
|
|
$user = User::findOrFail($id);
|
|
$user->delete();
|
|
return redirect()->back()->with('success', 'User berhasil dihapus');
|
|
} catch (\Exception $e) {
|
|
return redirect()->back()->with('error', 'Gagal menghapus user');
|
|
}
|
|
}
|
|
}
|