sosial ekonomi controller & view edit
This commit is contained in:
@@ -51,6 +51,32 @@ class SosialEkonomiController extends Controller
|
||||
->where('petani_id', $petani->id)
|
||||
->first();
|
||||
|
||||
if ($sosialEkonomi && !$request->expectsJson()) {
|
||||
return redirect()->route('petani.sosial-ekonomi.edit', [$petani->id, $sosialEkonomi->id]);
|
||||
}
|
||||
|
||||
return $this->formView($request, $petani, $sosialEkonomi, 'produktivitas.petani.sosial-ekonomi.index');
|
||||
}
|
||||
|
||||
public function edit(Request $request, string $petani, string $sosial_ekonomi)
|
||||
{
|
||||
$petani = Petani::findOrFail($petani);
|
||||
$sosialEkonomi = SosialEkonomi::findOrFail($sosial_ekonomi);
|
||||
|
||||
if ($sosialEkonomi->petani_id !== $petani->id) {
|
||||
abort(404);
|
||||
}
|
||||
|
||||
$sosialEkonomi->load([
|
||||
'pendapatanKomoditas',
|
||||
'pendapatanLuarPertanian',
|
||||
]);
|
||||
|
||||
return $this->formView($request, $petani, $sosialEkonomi, 'produktivitas.petani.sosial-ekonomi.edit');
|
||||
}
|
||||
|
||||
private function formView(Request $request, Petani $petani, ?SosialEkonomi $sosialEkonomi, string $view)
|
||||
{
|
||||
$pendapatanKomoditas = $sosialEkonomi?->pendapatanKomoditas ?? collect();
|
||||
$pendapatanKomoditasUtama = $pendapatanKomoditas->where('kategori', 'utama')->values();
|
||||
$pendapatanKomoditasLainnya = $pendapatanKomoditas->where('kategori', 'lainnya')->values();
|
||||
@@ -61,7 +87,7 @@ class SosialEkonomiController extends Controller
|
||||
return response()->json($sosialEkonomi);
|
||||
}
|
||||
|
||||
return view('produktivitas.petani.sosial-ekonomi.index', compact(
|
||||
return view($view, compact(
|
||||
'petani',
|
||||
'sosialEkonomi',
|
||||
'komoditasPetani',
|
||||
@@ -97,7 +123,7 @@ class SosialEkonomiController extends Controller
|
||||
|
||||
if (!$request->expectsJson()) {
|
||||
return redirect()
|
||||
->route('petani.sosial-ekonomi.index', $sosialEkonomi->petani_id)
|
||||
->route('petani.sosial-ekonomi.edit', [$sosialEkonomi->petani_id, $sosialEkonomi->id])
|
||||
->with('success', 'Data sosial ekonomi berhasil disimpan.');
|
||||
}
|
||||
|
||||
@@ -122,9 +148,9 @@ class SosialEkonomiController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
public function update(Request $request, Petani|string $petani, ?string $sosialEkonomiId = null): JsonResponse|RedirectResponse
|
||||
public function update(Request $request, string $petani, string $sosial_ekonomi): JsonResponse|RedirectResponse
|
||||
{
|
||||
$sosialEkonomi = $this->findSosialEkonomi($petani, $sosialEkonomiId);
|
||||
$sosialEkonomi = SosialEkonomi::where('petani_id', $petani)->findOrFail($sosial_ekonomi);
|
||||
$validated = $this->validateData($request, $sosialEkonomi->id);
|
||||
|
||||
$sosialEkonomi = DB::transaction(function () use ($request, $validated, $sosialEkonomi) {
|
||||
@@ -149,7 +175,7 @@ class SosialEkonomiController extends Controller
|
||||
|
||||
if (!$request->expectsJson()) {
|
||||
return redirect()
|
||||
->route('petani.sosial-ekonomi.index', $sosialEkonomi->petani_id)
|
||||
->route('petani.sosial-ekonomi.edit', [$sosialEkonomi->petani_id, $sosialEkonomi->id])
|
||||
->with('success', 'Data sosial ekonomi berhasil diperbarui.');
|
||||
}
|
||||
|
||||
@@ -307,12 +333,4 @@ class SosialEkonomiController extends Controller
|
||||
->get();
|
||||
}
|
||||
|
||||
private function findSosialEkonomi(Petani|string $petani, ?string $sosialEkonomiId = null): SosialEkonomi
|
||||
{
|
||||
if ($petani instanceof Petani) {
|
||||
return SosialEkonomi::where('petani_id', $petani->id)->findOrFail($sosialEkonomiId);
|
||||
}
|
||||
|
||||
return SosialEkonomi::findOrFail($petani);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user