'Sub Klasifikasi', 'classification' => $request->input('classification', null), ]; return view('dashboard.sub-classifications.index', $viewData); } public function create(Request $request){ $viewData = [ 'title' => 'Tambah Sub Klasifikasi', 'fromClassification' => false ]; if($request->has('classification')){ $classificationSlug = $request->query('classification'); $viewData['classification'] = Classification::where('slug', '=', $classificationSlug)->first(); $viewData['fromClassification'] = true; }else{ $viewData['classifications'] = Classification::all(); } return view('dashboard.sub-classifications.create', $viewData); } public function store(SubClassificationRequest $request){ $validatedData = $request->validated(); $validatedData['slug'] = Str::slug($validatedData['name']); $validatedData['enhancer_id'] = Auth::id(); $createdSubClassification = SubClassification::create($validatedData); if($createdSubClassification){ return redirect()->back()->with('success-status', 'Berhasil menambahkan sub klasifikasi.'); }else{ return redirect()->back()->with('failed-status', 'Gagal menambahkan sub klasifikasi.'); } } 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(); $validatedData['slug'] = Str::slug($validatedData['name']); $validatedData['enhancer_id'] = Auth::id(); $subClassification = SubClassification::findOrFail(decrypt_id($id)); $updatedSubClassification = $subClassification->update($validatedData); if($updatedSubClassification){ return redirect()->back()->with('success-status', 'Berhasil mengubah sub klasifikasi.'); }else{ return redirect()->back()->with('failed-status', 'Gagal mengubah sub klasifikasi.'); } } public function show($id){ $subClassification = SubClassification::with(['classification'])->find(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); } } }