'Data Sub Klasifikasi', 'classification' => $request->input('classification', null), 'filter' => $request->input('filter', null), 'new_data' => session()->get('new_data', null), ]; return view('dashboard.sub-classifications.index', $viewData); } public function create(Request $request) { $viewData = [ 'title' => 'Buat Sub Klasifikasi Baru', 'fromClassification' => false, ]; if ($request->has('classification')) { $classificationId = decrypt_id($request->query('classification')); $viewData['classification'] = Classification::findOrFail($classificationId); $viewData['fromClassification'] = true; } else { $viewData['classifications'] = Classification::all(); } return view('dashboard.sub-classifications.create', $viewData); } public function store(SubClassificationRequest $request) { $validatedData = $request->validated(); try { $createdSubClassification = SubClassification::create($validatedData); return redirect()->route('dashboard.sub.classifications.index')->with('success-status', 'Berhasil membuat sub klasifikasi baru.') ->with('new_data', encrypt_id($createdSubClassification->id)); } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal membuat sub klasifikasi baru.'); } } public function edit($id) { $subClassification = SubClassification::findOrFail(decrypt_id($id)); return view('dashboard.sub-classifications.edit', [ 'title' => 'Ubah Sub Klasifikasi', 'subClassification' => $subClassification, 'classifications' => Classification::all(), ]); } public function update(SubClassificationRequest $request, $id) { $validatedData = $request->validated(); try { $subClassification = SubClassification::findOrFail(decrypt_id($id)); $subClassification->update($validatedData); return redirect()->route('dashboard.sub.classifications.show', ['id' => encrypt_id($subClassification->id)])->with('success-status', 'Berhasil mengubah sub klasifikasi.'); } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah sub klasifikasi.'); } } public function show($id) { $subClassification = SubClassification::with(['classification'])->withTrashed()->findOrFail(decrypt_id($id)); return view('dashboard.sub-classifications.show', [ 'title' => 'Detail Sub Klasifikasi', 'subClassification' => $subClassification, ]); } public function destroy($id) { try { $subClassification = SubClassification::findOrFail(decrypt_id($id)); $subClassification->delete(); return response()->json(['message' => 'Berhasil menghapus sub klasifikasi.']); } catch (\Exception $e) { return response()->json(['message' => 'Gagal menghapus sub klasifikasi.'], 500); } } }