sosial ekonomi update
This commit is contained in:
@@ -43,40 +43,40 @@ class SosialEkonomiController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function index(Request $request, Petani $petani)
|
public function index(Request $request, Petani $petani)
|
||||||
{
|
{
|
||||||
$sosialEkonomi = SosialEkonomi::with([
|
$sosialEkonomi = SosialEkonomi::with([
|
||||||
'pendapatanKomoditas',
|
'pendapatanKomoditas',
|
||||||
|
'pendapatanLuarPertanian',
|
||||||
|
])
|
||||||
|
->where('petani_id', $petani->id)
|
||||||
|
->first();
|
||||||
|
|
||||||
|
$pendapatanKomoditas = $sosialEkonomi?->pendapatanKomoditas ?? collect();
|
||||||
|
$pendapatanKomoditasUtama = $pendapatanKomoditas->where('kategori', 'utama')->values();
|
||||||
|
$pendapatanKomoditasLainnya = $pendapatanKomoditas->where('kategori', 'lainnya')->values();
|
||||||
|
$pendapatanLuarPertanian = $sosialEkonomi?->pendapatanLuarPertanian?->values() ?? collect();
|
||||||
|
$komoditasPetani = $this->komoditasPetani($petani);
|
||||||
|
|
||||||
|
if ($request->expectsJson()) {
|
||||||
|
return response()->json($sosialEkonomi);
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('produktivitas.petani.sosial-ekonomi.index', compact(
|
||||||
|
'petani',
|
||||||
|
'sosialEkonomi',
|
||||||
|
'komoditasPetani',
|
||||||
|
'pendapatanKomoditasUtama',
|
||||||
|
'pendapatanKomoditasLainnya',
|
||||||
'pendapatanLuarPertanian',
|
'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(
|
public function store(Request $request, ?Petani $petani = null): JsonResponse|RedirectResponse
|
||||||
'petani',
|
|
||||||
'sosialEkonomi',
|
|
||||||
'komoditasPetani',
|
|
||||||
'pendapatanKomoditasUtama',
|
|
||||||
'pendapatanKomoditasLainnya',
|
|
||||||
'pendapatanLuarPertanian',
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function store(Request $request): JsonResponse|RedirectResponse
|
|
||||||
{
|
{
|
||||||
|
if ($petani) {
|
||||||
|
$request->merge(['petani_id' => $petani->id]);
|
||||||
|
}
|
||||||
|
|
||||||
$validated = $this->validateData($request);
|
$validated = $this->validateData($request);
|
||||||
|
|
||||||
$sosialEkonomi = DB::transaction(function () use ($validated) {
|
$sosialEkonomi = DB::transaction(function () use ($validated) {
|
||||||
@@ -97,7 +97,7 @@ class SosialEkonomiController extends Controller
|
|||||||
|
|
||||||
if (!$request->expectsJson()) {
|
if (!$request->expectsJson()) {
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('petani.sosial-ekonomi.edit', $sosialEkonomi->petani_id)
|
->route('petani.sosial-ekonomi.index', $sosialEkonomi->petani_id)
|
||||||
->with('success', 'Data sosial ekonomi berhasil disimpan.');
|
->with('success', 'Data sosial ekonomi berhasil disimpan.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,9 +122,9 @@ class SosialEkonomiController extends Controller
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, string $id): JsonResponse|RedirectResponse
|
public function update(Request $request, Petani|string $petani, ?string $sosialEkonomiId = null): JsonResponse|RedirectResponse
|
||||||
{
|
{
|
||||||
$sosialEkonomi = SosialEkonomi::findOrFail($id);
|
$sosialEkonomi = $this->findSosialEkonomi($petani, $sosialEkonomiId);
|
||||||
$validated = $this->validateData($request, $sosialEkonomi->id);
|
$validated = $this->validateData($request, $sosialEkonomi->id);
|
||||||
|
|
||||||
$sosialEkonomi = DB::transaction(function () use ($request, $validated, $sosialEkonomi) {
|
$sosialEkonomi = DB::transaction(function () use ($request, $validated, $sosialEkonomi) {
|
||||||
@@ -149,7 +149,7 @@ class SosialEkonomiController extends Controller
|
|||||||
|
|
||||||
if (!$request->expectsJson()) {
|
if (!$request->expectsJson()) {
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('petani.sosial-ekonomi.edit', $sosialEkonomi->petani_id)
|
->route('petani.sosial-ekonomi.index', $sosialEkonomi->petani_id)
|
||||||
->with('success', 'Data sosial ekonomi berhasil diperbarui.');
|
->with('success', 'Data sosial ekonomi berhasil diperbarui.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,4 +306,13 @@ class SosialEkonomiController extends Controller
|
|||||||
->orderBy('nama')
|
->orderBy('nama')
|
||||||
->get();
|
->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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -195,5 +195,5 @@ Route::middleware('auth')
|
|||||||
Route::resource('petani.lahan-tanaman', App\Http\Controllers\Web\Produktivitas\PetaniLahanController::class);
|
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.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);
|
Route::resource('petani.praktik-budidaya', App\Http\Controllers\Web\Produktivitas\PraktikBudidayaController::class);
|
||||||
Route::resource('petani.sosial-ekonomi', App\Http\Controllers\Web\Produktivitas\SosialEkonomiController::class);
|
Route::resource('petani.sosial-ekonomi', App\Http\Controllers\Web\Produktivitas\SosialEkonomiController::class)->only(['index', 'store', 'update']);
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user