From 48850420c1158dc2aa53c3cff437a71c89572189 Mon Sep 17 00:00:00 2001 From: daffarahman11 Date: Tue, 25 Mar 2025 13:38:42 +0700 Subject: [PATCH] Update fitur update Curas dan Curanmor --- app/Http/Controllers/CuranmorController.php | 44 ++++++++++++-- app/Http/Controllers/CurasController.php | 58 +++++++++++++------ .../Admin/dashboardEditCuranmor.blade.php | 17 +++--- .../views/Admin/dashboardEditCuras.blade.php | 15 ++++- 4 files changed, 98 insertions(+), 36 deletions(-) diff --git a/app/Http/Controllers/CuranmorController.php b/app/Http/Controllers/CuranmorController.php index e330bb3..2961263 100644 --- a/app/Http/Controllers/CuranmorController.php +++ b/app/Http/Controllers/CuranmorController.php @@ -6,6 +6,7 @@ use App\Models\Curanmor; use App\Models\Kecamatan; use Illuminate\Http\Request; +use Illuminate\Validation\Rule; class CuranmorController extends Controller { @@ -77,7 +78,30 @@ public function edit($curanmor) */ public function update(Request $request, Curanmor $curanmor) { - // + try { + + // Validasi input + $request->validate([ + 'kecamatan_id' => [ + 'required', + 'exists:kecamatans,id', + Rule::unique('curanmors')->ignore($curanmor->id), + ], + 'klaster_id' => 'required|exists:klasters,id', + 'jumlah_curanmor' => 'required|integer|min:0', + ]); + + // Update data + $curanmor->update([ + 'kecamatan_id' => $request->kecamatan_id, + 'klaster_id' => $request->klaster_id, + 'jumlah_curanmor' => $request->jumlah_curanmor, + ]); + + return redirect('/curanmor')->with('succes', 'Data Kecamatan Berhasil Diubah'); + } catch (\Exception $e) { + return redirect('/curanmor')->with('error', 'Data Kecamatan Gagal Diubah: ' . $e->getMessage()); + } } /** @@ -85,14 +109,22 @@ public function update(Request $request, Curanmor $curanmor) */ public function destroy($curanmor) { - try{ + try { + // Cari data berdasarkan ID $hapus = Curanmor::find($curanmor); - Curanmor::destroy($hapus); - return redirect('/curanmor')->with('succes', 'Data Curanmor Berhasil Di Hapus'); - }catch (\Exception $e){ + // Pastikan data ditemukan sebelum menghapus + if (!$hapus) { + return redirect('/curanmor')->with('error', 'Data tidak ditemukan.'); + } - return redirect('/curanmor')->with('error', 'Data Curanmor '. $curanmor->nama_kecamatan .' Gagal Di Hapus'); + // Hapus data + $hapus->delete(); + + return redirect('/curanmor')->with('succes', 'Data Curanmor Berhasil Dihapus'); + } catch (\Exception $e) { + return redirect('/curanmor')->with('error', 'Terjadi kesalahan: ' . $e->getMessage()); } } + } diff --git a/app/Http/Controllers/CurasController.php b/app/Http/Controllers/CurasController.php index b8f39a2..e2601d8 100644 --- a/app/Http/Controllers/CurasController.php +++ b/app/Http/Controllers/CurasController.php @@ -78,25 +78,39 @@ public function edit($curas) /** * Update the specified resource in storage. */ - public function update(Request $request, Curas $curas) + public function update(Request $request, $id) { try { - $validateData = $request->validate([ - 'kecamatan_id' => 'sometimes|required|max:255' . $curas->kecamatan_id, - 'jumlah_curas' => 'sometimes|required|integer', - 'klaster_id' => 'sometimes|required|max:255' . $curas->klaster_id, - + // Cari data berdasarkan ID yang dikirim + $curas = Curas::findOrFail($id); + + // Debugging untuk memastikan data ditemukan + // dd($curas->toArray()); // Jika berhasil, ini akan menampilkan data curas + + // Validasi input + $request->validate([ + 'kecamatan_id' => [ + 'required', + 'exists:kecamatans,id', + Rule::unique('curas')->ignore($curas->id), + ], + 'klaster_id' => 'required|exists:klasters,id', + 'jumlah_curas' => 'required|integer|min:0', ]); - - // Pastikan hanya field yang diisi yang akan diperbarui - $curas->update(array_filter($validateData)); - + + // Update data + $curas->update([ + 'kecamatan_id' => $request->kecamatan_id, + 'klaster_id' => $request->klaster_id, + 'jumlah_curas' => $request->jumlah_curas, + ]); + return redirect('/curas')->with('succes', 'Data Kecamatan Berhasil Diubah'); } catch (\Exception $e) { - - return redirect('/curas')->with('error', 'Data Kecamatan Gagal Diubah'); + return redirect('/curas')->with('error', 'Data Kecamatan Gagal Diubah: ' . $e->getMessage()); } } + @@ -106,15 +120,23 @@ public function update(Request $request, Curas $curas) */ public function destroy($curas) { - try{ + try { + // Cari data berdasarkan ID $hapus = Curas::find($curas); - Curas::destroy($hapus); - return redirect('/curas')->with('succes', 'Data Curas Berhasil Di Hapus'); - }catch (\Exception $e){ + // Pastikan data ditemukan sebelum menghapus + if (!$hapus) { + return redirect('/curas')->with('error', 'Data tidak ditemukan.'); + } - return dd($e); - // redirect('/curas')->with('error', 'Data Curas '. $curas->nama_kecamatan .' Gagal Di Hapus | Hapus Data Curas Atau Curanmor Untuk Klaster '. $curas->nama_kecamatan.' Terlebih Dahulu'); + // Hapus data + $hapus->delete(); + + return redirect('/curas')->with('succes', 'Data Curas Berhasil Dihapus'); + } catch (\Exception $e) { + return redirect('/curas')->with('error', 'Terjadi kesalahan: ' . $e->getMessage()); } } + + } diff --git a/resources/views/Admin/dashboardEditCuranmor.blade.php b/resources/views/Admin/dashboardEditCuranmor.blade.php index fa73cc2..111fb07 100644 --- a/resources/views/Admin/dashboardEditCuranmor.blade.php +++ b/resources/views/Admin/dashboardEditCuranmor.blade.php @@ -18,16 +18,13 @@
- + + + +
diff --git a/resources/views/Admin/dashboardEditCuras.blade.php b/resources/views/Admin/dashboardEditCuras.blade.php index 98f4f31..2219a44 100644 --- a/resources/views/Admin/dashboardEditCuras.blade.php +++ b/resources/views/Admin/dashboardEditCuras.blade.php @@ -17,7 +17,18 @@
+ + + + + + + + {{-- + --}}
@@ -49,7 +60,7 @@
- +