MIF_E31222663/app/Http/Controllers/AdminController.php

122 lines
3.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\DataLatih;
use App\Models\UjiData;
use App\Models\Prediksi;
use App\Models\User;
use App\Models\Kabupaten;
class AdminController extends Controller
{
// Menambahkan middleware auth agar hanya bisa diakses oleh user yang sudah login
public function __construct()
{
$this->middleware('auth');
}
public function dashboard()
{
$data = [
'merokok' => [/* data perilaku merokok */],
'rumah' => [/* data kondisi rumah */],
'imunisasi' => [/* data status imunisasi */]
];
// Data untuk peta
$locations = [
'rawan' => ['kecamatan' => 'A', 'color' => 'red'],
'berhati_hati' => ['kecamatan' => 'B', 'color' => 'blue']
];
return view('admin.dashboard', compact('data', 'locations'));
}
public function dataLatih()
{
$dataLatih = DataLatih::all(); // Ambil semua data latih dari database
return view('admin.data-latih', compact('dataLatih')); // Tampilkan ke view
}
// public function ujiData()
// {
// // Gunakan nilai sementara agar tidak error
// $probabilitas = 0.75;
// $mean = 12.5;
// $stdDeviasi = 3.2;
// $akurasi = 85.6;
// return view('admin.uji-data', compact('probabilitas', 'mean', 'stdDeviasi', 'akurasi'));
// }
public function prediksi()
{
$data_prediksi = Prediksi::all(); // Ambil semua data prediksi dari database
return view('admin.prediksi', compact('data_prediksi'));
}
public function hapusPrediksi($id)
{
$prediksi = Prediksi::find($id);
if ($prediksi) {
$prediksi->delete();
}
return redirect()->route('prediksi')->with('success', 'Data berhasil dihapus');
}
public function users() {
$users = User::all(); // Pastikan model `User` di-import
return view('admin.users', compact('users'));
}
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
]);
User::create([
'name' => $request->name,
'email' => $request->email,
'password' => bcrypt($request->password),
]);
return redirect()->route('admin.users')->with('success', 'User berhasil ditambahkan.');
}
public function logout(Request $request)
{
Auth::guard('admin')->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/admin/login'); // Sesuaikan dengan halaman login Anda
}
public function edit($id)
{
$user = User::findOrFail($id); // Ambil data user berdasarkan ID
return view('admin.users.edit', compact('user'));
}
public function update(Request $request, $id)
{
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|email|unique:users,email,' . $id,
]);
$user = User::findOrFail($id);
$user->update($request->all());
return redirect()->route('admin.users.index')->with('success', 'Data user berhasil diperbarui.');
}
public function kabupaten()
{
$kabupatens = Kabupaten::all(); // Ambil semua data kabupaten
return view('admin.kabupaten.index', compact('kabupatens')); // Kirim data ke view
}
public function createKabupaten()
{
return view('admin.kabupaten.create'); // Menunjukkan view create dari kabupaten
}
}