user(); $user_id = $user->id; // Dapatkan pengajuan yang disetujui berdasarkan ID mahasiswa $pengajuan = Pengajuan::where('id_mahasiswa', $user->id)->where('status', 'Disetujui')->get(); $proposals = SeminarProposal::where('id_mahasiswa', $user->id)->get(); // Ambil satu entri pertama dari Sidang yang sesuai dengan kriteria $sidang = Sidang::where('id_mahasiswa', $user->id) ->with('sidangJadwal') ->first(); $sidangJadwals = SidangJadwal::where('id_mahasiswa', $user_id)->get(); return view('jadwal-sidang', compact('user_id', 'pengajuan', 'proposals', 'sidang', 'sidangJadwals')); } /** * Store a newly created resource in storage. */ public function store(Request $request) { $setting = SettingSidang::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 Sidang Belum Dibuka.'); } elseif ($currentDate->gt($tglSelesai)) { return redirect()->back()->with('toast_error', 'Pendaftaran Sidang Sudah Ditutup.'); } // Validasi data $request->validate([ 'id_mahasiswa' => 'required|exists:users,id', 'id_pengajuan' => 'required|exists:pengajuan,id', 'id_seminar_proposal' => 'required|exists:seminar_proposal,id', '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 $existingSidang = Sidang::where('id_pengajuan', $request->id_pengajuan)->exists(); if ($existingSidang) { // Jika sudah ada, beri pesan error ke pengguna Session::flash('toast_error', 'Sudah Mendaftar Sidang.'); // Redirect pengguna ke halaman sebelumnya return redirect()->route('daftar-sidang'); } // Coba untuk menyimpan berkas try { // Menyimpan berkas $berkas = $request->file('berkas'); $nama_berkas = $berkas->getClientOriginalName(); $berkas->storeAs('public/berkas_sidang', $nama_berkas); // Menyimpan berkas di folder penyimpanan yang diinginkan // Simpan data seminar proposal Sidang::create([ 'id_mahasiswa' => $request->id_mahasiswa, 'id_pengajuan' => $request->id_pengajuan, 'id_seminar_proposal' => $request->id_seminar_proposal, 'berkas' => $nama_berkas, ]); // Set pesan toast sukses Session::flash('toast_success', 'Pendaftaran Sidang 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-sidang'); } /** * 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) { // } }