user(); $user_id = $user->id; // Dapatkan pengajuan yang disetujui berdasarkan ID mahasiswa $pengajuan = Pengajuan::where('id_mahasiswa', $user->id)->where('status', 'Disetujui')->get(); // Ambil satu entri pertama dari SeminarProposal yang sesuai dengan kriteria $seminarProposal = SeminarProposal::where('id_mahasiswa', $user->id) ->with('seminarJadwal') ->first(); $seminarJadwals = SeminarJadwal::where('id_mahasiswa', $user_id)->get(); return view('jadwal-sempro', compact('user_id', 'pengajuan', 'seminarProposal', 'seminarJadwals')); } /** * Store a newly created resource in storage. */ public function store(Request $request) { $setting = SettingSempro::first(); $tglMulai = $setting->tgl_mulai_pendaftaran; $tglSelesai = $setting->tgl_selesai_pendaftaran; $currentDate = Carbon::now(); if ($currentDate->lt($tglMulai)) { return redirect()->back()->with('toast_error', 'Pendaftaran Seminar Proposal Belum Dibuka.'); } elseif ($currentDate->gt($tglSelesai)) { return redirect()->back()->with('toast_error', 'Pendaftaran Seminar Proposal Sudah Ditutup.'); } // Validasi data $request->validate([ 'id_mahasiswa' => 'required', 'id_pengajuan' => 'required', 'judul' => 'required', 'berkas' => 'required|file|mimes:pdf,doc,docx|max:2048', // Sesuaikan dengan tipe berkas yang diizinkan dan batas ukuran yang diinginkan ]); // Cek apakah sudah ada Seminar Proposal dengan ID Pengajuan yang sama $existingSempro = SeminarProposal::where('id_pengajuan', $request->id_pengajuan)->exists(); if ($existingSempro) { // Jika sudah ada, beri pesan error ke pengguna Session::flash('toast_error', 'Sudah Mendaftar Seminar Proposal.'); // Redirect pengguna ke halaman sebelumnya return redirect()->back(); } // Coba untuk menyimpan berkas try { // Menyimpan berkas $berkas = $request->file('berkas'); $nama_berkas = $berkas->getClientOriginalName(); $berkas->storeAs('public/berkas_sempro', $nama_berkas); // Menyimpan berkas di folder penyimpanan yang diinginkan // Simpan data seminar proposal SeminarProposal::create([ 'id_mahasiswa' => $request->id_mahasiswa, 'id_pengajuan' => $request->id_pengajuan, 'berkas' => $nama_berkas, ]); $mahasiswa = User::where('id', $request->id_mahasiswa); $mahasiswa->update([ 'judul' => $request->judul, ]); $pengajuan = Pengajuan::where('id', $request->id_pengajuan)->first(); $pengajuan->update([ 'judul' => $request->judul, ]); // Set pesan toast sukses Session::flash('toast_success', 'Pendaftaran Seminar Proposal Berhasil.'); } catch (\Exception $e) { // Tangani kesalahan jika gagal menyimpan berkas Session::flash('toast_error', 'Terjadi kesalahan saat menyimpan berkas: ' . $e->getMessage()); } // Redirect pengguna ke halaman sebelumnya return redirect()->route('jadwal-sempro'); } /** * Display the specified resource. */ public function show(string $id) { // } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // } /** * Remove the specified resource from storage. */ public function destroy(string $id) { // } }