first(); return view('formalumni', [ 'dataAlumni' => $dataAlumni, 'angkatans' => TahunAngkatan::all(), 'kualifikasis' => KualifikasiBidang::all(), 'jabatans' => Jabatan::all(), ]); } public function store(Request $request) { // Validasi data $validatedData = $request->validate([ 'nama' => 'required|string|max:255', 'nim' => 'required|string|max:50|unique:data_alumni,nim', 'angkatan' => 'required|exists:tahun_angkatan,id_angkatan', 'masa_tunggu' => 'nullable|integer', 'pekerjaan' => 'nullable|string', 'instansi' => 'nullable|string', 'link_linkedin' => 'nullable|string', 'Jenis_profesi' => 'nullable|string', 'lingkup_pekerjaan' => 'nullable|string', 'kualifikasi_bidang_kerja' => 'required', 'jabatan' => 'required', ]); // Tambahkan default nilai perlu_review false untuk data baru $validatedData['perlu_review'] = false; // Membuat data alumni baru DataAlumni::create($validatedData); // Redirect atau return response return redirect()->route('formalumni')->with('success', 'Data berhasil disimpan'); } public function update(Request $request, $id) { try { $dataAlumni = DataAlumni::findOrFail($id); // Validasi data $validatedData = $request->validate([ 'nama' => 'required|string|max:255', 'nim' => 'required|string|max:50', 'angkatan' => 'required|exists:tahun_angkatan,id_angkatan', 'masa_tunggu' => 'nullable|integer', 'pekerjaan' => 'nullable|string', 'instansi' => 'nullable|string', 'link_linkedin' => 'nullable|string', // Changed from 'url' to 'string' 'Jenis_profesi' => 'required|string', 'lingkup_pekerjaan' => 'required|string', 'kualifikasi_bidang_kerja' => 'required|exists:kualifikasi_bidang,id_kualifikasi', 'jabatan' => 'required|exists:jabatan,id_kategori', ]); // Deteksi perubahan data penting $perluReview = ( $dataAlumni->pekerjaan !== $validatedData['pekerjaan'] || $dataAlumni->instansi !== $validatedData['instansi'] ); // Tambahkan flag perlu_review ke data yang akan diupdate $validatedData['perlu_review'] = $perluReview; // Update data alumni $dataAlumni->update($validatedData); // Redirect atau return response return redirect()->route('formalumni')->with('success', 'Data berhasil diperbarui'); } catch (\Exception $e) { Log::error('Error updating alumni data: ' . $e->getMessage()); return redirect()->back()->with('error', 'Terjadi kesalahan saat memperbarui data: ' . $e->getMessage())->withInput(); } } }