with('success', session('success')) ->withErrors(session('error')); } public function create() { return view('admin.tahun_ajaran.create'); } public function store(Request $request) { try { $request->validate([ 'tahun' => 'required|string|max:20', 'semester' => 'required|in:ganjil,genap', 'status' => 'required|in:aktif,tidak aktif,lulus', ]); TahunAjaran::create($request->all()); return redirect()->route('admin.tahun_ajaran.index') ->with('success', 'Tahun Ajaran berhasil ditambahkan.'); } catch (\Exception $e) { Log::error('Gagal menambahkan Tahun Ajaran: ' . $e->getMessage()); return back()->withInput()->withErrors('Terjadi kesalahan saat menambahkan Tahun Ajaran.'); } } public function edit(TahunAjaran $tahunAjaran) { return view('admin.tahun_ajaran.edit', compact('tahunAjaran')); } public function update(Request $request, TahunAjaran $tahunAjaran) { try { $request->validate([ 'tahun' => 'required|string|max:20', 'semester' => 'required|in:ganjil,genap', 'status' => 'required|in:aktif,tidak aktif,lulus', ]); $tahunAjaran->update($request->all()); return redirect()->route('admin.tahun_ajaran.index') ->with('success', 'Tahun Ajaran berhasil diupdate.'); } catch (\Exception $e) { Log::error('Gagal mengupdate Tahun Ajaran: ' . $e->getMessage()); return back()->withInput()->withErrors('Terjadi kesalahan saat mengupdate Tahun Ajaran.'); } } public function destroy(TahunAjaran $tahunAjaran) { try { $tahunAjaran->delete(); return redirect()->route('admin.tahun_ajaran.index') ->with('success', 'Tahun Ajaran berhasil dihapus.'); } catch (\Exception $e) { Log::error('Gagal menghapus Tahun Ajaran: ' . $e->getMessage()); return back()->withErrors('Terjadi kesalahan saat menghapus Tahun Ajaran.'); } } }