diff --git a/app/Http/Controllers/PenyakitController.php b/app/Http/Controllers/PenyakitController.php index a6da5f8..540925a 100644 --- a/app/Http/Controllers/PenyakitController.php +++ b/app/Http/Controllers/PenyakitController.php @@ -15,16 +15,13 @@ public function index() return view('layouts.diagnosa.detailpenyakit', compact('penyakit')); } + // PenyakitController.php public function show($id) { - $penyakit = Penyakit::findOrFail($id); // Ambil data penyakit berdasarkan ID + // Ambil data penyakit berdasarkan ID dan muat relasi gejalas + $penyakit = Penyakit::with('gejala')->findOrFail($id); - // Ambil ID gejala yang terkait dengan penyakit ini - $gejala_ids = explode(',', $penyakit->gejala); - - // Ambil nama gejala berdasarkan ID - $gejala_list = Gejala::whereIn('id', $gejala_ids)->pluck('nama_gejala'); - - return view('layouts.diagnosa.rinciandetailpenyakit', compact('penyakit', 'gejala_list')); + // Mengirim data penyakit ke view + return view('layouts.diagnosa.rinciandetailpenyakit', compact('penyakit')); } } diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 4ab1f9f..8d43c38 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -3,6 +3,8 @@ namespace App\Http\Controllers; use Illuminate\Support\Facades\Auth; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Hash; class ProfileController extends Controller { @@ -14,6 +16,16 @@ public function index() // Return the profile view with the authenticated user details return view('layouts.profile', ['account' => $account]); } -} + public function updatePassword(Request $request) + { + $request->validate([ + 'passupdate' => 'required|string|min:8', + ]); -?> + $user = auth()->user(); + $user->password = Hash::make($request->passupdate); + $user->save(); + + return back()->with('success', 'Password berhasil diperbarui.'); + } +} diff --git a/app/Http/Controllers/admin/DaftarPenyakitController.php b/app/Http/Controllers/admin/DaftarPenyakitController.php index 853e6ba..c3fc445 100644 --- a/app/Http/Controllers/admin/DaftarPenyakitController.php +++ b/app/Http/Controllers/admin/DaftarPenyakitController.php @@ -29,8 +29,6 @@ public function store(Request $request) 'deskripsi' => 'required|string', 'penanganan' => 'required|string', 'gambar' => 'required|image|mimes:jpeg,png,jpg,gif', - 'gejala' => 'required|array', // Memastikan gejala yang dipilih adalah array - 'gejala.*' => 'exists:gejala,id', // Memastikan ID gejala ada di tabel gejala ]); // Upload gambar @@ -38,8 +36,6 @@ public function store(Request $request) $namaGambar = time() . '_' . $gambar->getClientOriginalName(); $gambar->move(public_path('assets/images'), $namaGambar); - // Mengambil ID gejala yang dipilih dan mengubahnya menjadi string - $gejalaIds = implode(',', $request->gejala); // Simpan data penyakit ke database Penyakit::create([ @@ -49,7 +45,6 @@ public function store(Request $request) 'deskripsi' => $request->deskripsi, 'penanganan' => $request->penanganan, 'gambar' => $namaGambar, - 'gejala' => $gejalaIds, // Simpan ID gejala dalam bentuk string ]); return redirect()->back()->with('success', 'Data penyakit berhasil ditambahkan!'); @@ -58,10 +53,10 @@ public function store(Request $request) public function update(Request $request, $id) { - // HAPUS ini: dd($request->all()); // <-- Hapus baris ini - + // Ambil data penyakit berdasarkan ID $penyakit = Penyakit::findOrFail($id); - + + // Validasi data yang diterima dari request tanpa gejala $request->validate([ 'kode_penyakit' => 'required|string|max:10|unique:penyakit,kode_penyakit,' . $penyakit->id, 'nama_penyakit' => 'required|string|max:100', @@ -69,13 +64,8 @@ public function update(Request $request, $id) 'deskripsi' => 'required|string', 'penanganan' => 'required|string', 'gambar' => 'nullable|image|mimes:jpeg,png,jpg,gif', - 'gejala' => 'required|array', // Validasi gejala yang dipilih - 'gejala.*' => 'exists:gejala,id', ]); - // Menyimpan log dengan memeriksa apakah gejala ada - Log::info('Gejala yang diterima: ', ['gejala' => $request->gejala]); // Menyimpan data dalam array - // Update data penyakit $penyakit->kode_penyakit = $request->kode_penyakit; $penyakit->nama_penyakit = $request->nama_penyakit; @@ -97,15 +87,6 @@ public function update(Request $request, $id) $penyakit->gambar = $namaGambar; } - - // Menyinkronkan gejala yang dipilih - if ($request->has('gejala')) { - $penyakit->gejala = implode(',', $request->gejala); // Simpan ID yang dipilih dalam format string - Log::info('Gejala yang dipilih disimpan: ', ['gejala' => $penyakit->gejala]); // Menampilkan gejala yang disimpan - } else { - $penyakit->gejala = ''; // Jika tidak ada gejala yang dipilih - } - // Simpan perubahan penyakit $penyakit->save(); @@ -113,6 +94,7 @@ public function update(Request $request, $id) } + public function destroy($id) { $penyakit = Penyakit::findOrFail($id); @@ -128,4 +110,4 @@ public function destroy($id) return redirect()->back()->with('success', 'Data penyakit berhasil dihapus beserta gambarnya.'); } -} \ No newline at end of file +} diff --git a/resources/views/layouts/admin/daftarpenyakit.blade.php b/resources/views/layouts/admin/daftarpenyakit.blade.php index bb3e646..8287f6e 100644 --- a/resources/views/layouts/admin/daftarpenyakit.blade.php +++ b/resources/views/layouts/admin/daftarpenyakit.blade.php @@ -23,6 +23,15 @@ @endif + +
@@ -36,7 +45,6 @@ Nama Penyakit Sub Judul Deskripsi - Gejala Penanganan Gambar Aksi @@ -48,7 +56,6 @@ Nama Penyakit Sub Judul Deskripsi - Gejala Penanganan Gambar Aksi @@ -62,22 +69,15 @@ {{ $penyakit->nama_penyakit }} {{ $penyakit->subjudul }} {{ $penyakit->deskripsi }} + - @php - $id_gejala = explode(',', $penyakit->gejala); - $nama_gejala = collect($id_gejala)->map(function ($id) use ($gejala) { - $gejala = $gejala->firstWhere('id', (int)$id); - return $gejala ? $gejala->nama_gejala : null; - })->filter(); - @endphp - {{ $penyakit->penanganan }} Gambar Penyakit @@ -132,36 +132,6 @@ Gambar saat ini:
-
- -
- @php - $selected_gejala = explode(',', $penyakit->gejala); // Ambil gejala yang sudah ada - @endphp - -
- - -
- -
- @foreach($gejala as $item) -
-
- id, $selected_gejala) ? 'checked' : '' }}> - -
-
- @endforeach -
-
-
- - -
- -
-
- - -
- -
- @foreach($gejala as $item) -
-
- - -
-
- @endforeach -
-
-
- - - - @endsection \ No newline at end of file diff --git a/resources/views/layouts/diagnosa/masterdiagnosa.blade.php b/resources/views/layouts/diagnosa/masterdiagnosa.blade.php index d3c4252..741d305 100644 --- a/resources/views/layouts/diagnosa/masterdiagnosa.blade.php +++ b/resources/views/layouts/diagnosa/masterdiagnosa.blade.php @@ -216,12 +216,25 @@ + + @if(session('success')) +
+ {{ session('success') }} +
+ + @endif
- + @if(session('success')) +
+ {{ session('success') }} +
+ + @endif
- - +
@yield('content')
diff --git a/routes/web.php b/routes/web.php index 099f2b8..155054c 100644 --- a/routes/web.php +++ b/routes/web.php @@ -83,6 +83,10 @@ // Route untuk melakukan reset password Route::post('reset-password', [LupaPasswordController::class, 'resetPassword'])->name('reset.password'); +// Update pass Profile +Route::post('/profile/update-password', [ProfileController::class, 'updatePassword']) + ->name('user.updatePassword') + ->middleware('auth'); // Registration Routes Route::get('register', [RegisterController::class, 'showRegistrationForm'])->name('register');