TIF_NGANJUK_E41220737/app/Http/Controllers/AdminController.php

74 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Petani;
use App\Models\Produk;
use App\Models\Transaksi;
class AdminController extends Controller
{
public function dashboard()
{
$totalPetani = Petani::where('status_akun', 'aktif')->count();
$petaniPending = Petani::where('status_akun', 'menunggu')->count();
$totalProduk = Produk::count();
$totalTransaksi = Transaksi::count();
$transaksiTerbaru = Transaksi::with(['pembeli', 'details'])->latest()->take(5)->get();
return view('admin.dashboard', compact(
'totalPetani',
'petaniPending',
'totalProduk',
'totalTransaksi',
'transaksiTerbaru'
));
}
public function monitoring()
{
$produks = Produk::with('petani')->latest()->paginate(10);
$transaksis = Transaksi::with(['pembeli'])->latest()->paginate(10);
return view('admin.monitoring', compact('produks', 'transaksis'));
}
public function verifikasiIndex()
{
// Ambil data petani yang statusnya 'menunggu'
$petanis = Petani::orderBy('created_at', 'desc')->get();
return view('admin.verifikasi.index', compact('petanis'));
}
// Tampilkan Detail Petani
public function verifikasiShow($id)
{
$petani = Petani::findOrFail($id);
return view('admin.verifikasi.show', compact('petani'));
}
// Proses Terima Pendaftaran (Approve)
public function verifikasiApprove($id)
{
$petani = Petani::findOrFail($id);
$petani->status_akun = 'aktif';
$petani->save();
return redirect('admin/verifikasi')->with('success', 'Pendaftaran Petani BERHASIL diterima.');
}
// Proses Tolak Pendaftaran (Reject)
public function verifikasiReject($id)
{
$petani = Petani::findOrFail($id);
$petani->status_akun = 'ditolak';
$petani->save();
return redirect('admin/verifikasi')->with('success', 'Pendaftaran Petani DITOLAK.');
}
}