diff --git a/app/Http/Controllers/Web/Produktivitas/SosialEkonomiController.php b/app/Http/Controllers/Web/Produktivitas/SosialEkonomiController.php index 900f029..94ab44a 100644 --- a/app/Http/Controllers/Web/Produktivitas/SosialEkonomiController.php +++ b/app/Http/Controllers/Web/Produktivitas/SosialEkonomiController.php @@ -42,25 +42,39 @@ class SosialEkonomiController extends Controller )); } - public function index(Request $request): JsonResponse - { - $sosialEkonomi = SosialEkonomi::with([ - 'petani', - 'pendapatanKomoditas', - 'pendapatanLuarPertanian', - ]) - ->when($request->search, function ($query, $search) { - $query->whereHas('petani', function ($petani) use ($search) { - $petani->where('nama', 'like', "%{$search}%"); - }); - }) - ->when($request->petani_id, fn ($query, $petaniId) => $query->where('petani_id', $petaniId)) - ->orderBy('created_at', 'desc') - ->paginate($request->per_page ?? 10); + public function index(Request $request, Petani $petani) +{ + $sosialEkonomi = SosialEkonomi::with([ + 'pendapatanKomoditas', + 'pendapatanLuarPertanian', + ]) + ->where('petani_id', $petani->id) + ->first(); + $komoditasPetani = collect(); + + $pendapatanKomoditasUtama = $sosialEkonomi?->pendapatanKomoditas + ->where('kategori', 'utama') ?? collect(); + + $pendapatanKomoditasLainnya = $sosialEkonomi?->pendapatanKomoditas + ->where('kategori', 'lainnya') ?? collect(); + + $pendapatanLuarPertanian = $sosialEkonomi?->pendapatanLuarPertanian ?? collect(); + + if ($request->expectsJson()) { return response()->json($sosialEkonomi); } + return view('produktivitas.petani.sosial-ekonomi.index', compact( + 'petani', + 'sosialEkonomi', + 'komoditasPetani', + 'pendapatanKomoditasUtama', + 'pendapatanKomoditasLainnya', + 'pendapatanLuarPertanian', + )); +} + public function store(Request $request): JsonResponse|RedirectResponse { $validated = $this->validateData($request); diff --git a/resources/views/produktivitas/petani/header.blade.php b/resources/views/produktivitas/petani/header.blade.php index 36625d0..38cb394 100644 --- a/resources/views/produktivitas/petani/header.blade.php +++ b/resources/views/produktivitas/petani/header.blade.php @@ -87,8 +87,8 @@ diff --git a/resources/views/produktivitas/petani/sosial-ekonomi/index.blade.php b/resources/views/produktivitas/petani/sosial-ekonomi/index.blade.php index 92b5da4..4642dc2 100644 --- a/resources/views/produktivitas/petani/sosial-ekonomi/index.blade.php +++ b/resources/views/produktivitas/petani/sosial-ekonomi/index.blade.php @@ -20,7 +20,7 @@
@include('produktivitas.petani.header', ['petani' => $petani]) -
+ @csrf @if($sosialEkonomi) @method('PUT') diff --git a/routes/web.php b/routes/web.php index 7517d25..8ca39fb 100644 --- a/routes/web.php +++ b/routes/web.php @@ -44,6 +44,7 @@ Route::middleware('auth') Route::get('/hilirisasi', [App\Http\Controllers\Web\Dashboard\HilirisasiController::class, 'index'])->name('dashboard.hilirisasi'); Route::get('/konektivitas', [App\Http\Controllers\Web\Dashboard\KonektivitasController::class, 'index'])->name('dashboard.konektivitas'); Route::get('/akselerasi', [App\Http\Controllers\Web\Dashboard\AkselerasiController::class, 'index'])->name('dashboard.akselerasi'); + Route::get('/distribusi', [App\Http\Controllers\Web\Dashboard\DistribusiController::class, 'index'])->name('dashboard.distribusi'); // User Route::resource('users', App\Http\Controllers\Web\Konfigurasi\UserController::class); @@ -187,6 +188,9 @@ Route::middleware('auth') // Petani Route::resource('petani', App\Http\Controllers\Web\Produktivitas\PetaniController::class); + Route::resource('sosial-ekonomi', App\Http\Controllers\Web\Produktivitas\SosialEkonomiController::class)->except(['create', 'edit']); + Route::get('petani/{petani}/akses-pasar', [App\Http\Controllers\Web\Produktivitas\AksesPasarController::class, 'editByPetani'])->name('petani.akses-pasar.edit'); + Route::resource('akses-pasar', App\Http\Controllers\Web\Produktivitas\AksesPasarController::class)->except(['create', 'edit']); Route::resource('petani.lahan-tanaman', App\Http\Controllers\Web\Produktivitas\PetaniLahanController::class); Route::resource('petani.lahan-tanaman.tanaman', App\Http\Controllers\Web\Produktivitas\PetaniLahanTanamanController::class)->only(['show', 'update', 'destroy']); Route::resource('petani.praktik-budidaya', App\Http\Controllers\Web\Produktivitas\PraktikBudidayaController::class);