select('*')->get(); return view('server-side.ujian.index', compact(['nomor', 'ujians'])); } public function feedbackUjianSiswa() { $nomor = 1; $siswa = Siswa::where('user_id', Auth::user()->user_id)->first(); $jawaban = Jawaban::join('siswas', 'siswas.id', '=', 'jawabans.siswa_id')->where('jawabans.siswa_id', $siswa->id)->get(); return view('server-side.penilaian.feedback-ujian', compact(['nomor', 'jawaban'])); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $jurusan = Jurusan::all(); $jurusanLogin = auth()->user()->user_id; $jurusanGuru = Guru::where('user_id', $jurusanLogin) ->join('jurusans', 'gurus.jurusan_id', '=', 'jurusans.id_jurusan') ->select('gurus.jurusan_id', 'jurusans.nama_jurusan') ->first(); return view('server-side.ujian.create', compact(['jurusan', 'jurusanGuru'])); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $request->validate([ 'soal' => 'required|string', 'keterangan' => 'required|string', 'level' => 'required|string', 'jurusan_id' => 'required', 'tanggal_mulai' => 'required', 'tanggal_mulai' => 'required', 'jam_mulai' => 'required', 'tanggal_berakhir' => 'required', 'jam_berakhir' => 'required' ]); $ujian = new Ujian(); $ujian->soal = $request->soal; $ujian->keterangan = $request->keterangan; $ujian->level = $request->level; $ujian->jurusan_id = $request->jurusan_id; $ujian->tanggal_mulai = $request->tanggal_mulai; $ujian->jam_mulai = $request->jam_mulai; $ujian->tanggal_berakhir = $request->tanggal_berakhir; $ujian->jam_berakhir = $request->jam_berakhir; $ujian->save(); return redirect()->route('ujian.index')->with('success', 'Berhasil menambah soal ujian baru'); } /** * Display the specified resource. * * @param \App\Models\Ujian $ujian * @return \Illuminate\Http\Response */ public function show(Ujian $ujian) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\Ujian $ujian * @return \Illuminate\Http\Response */ public function edit(Ujian $ujian) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Ujian $ujian * @return \Illuminate\Http\Response */ public function update(Request $request, Ujian $ujian) { // } /** * Remove the specified resource from storage. * * @param \App\Models\Ujian $ujian * @return \Illuminate\Http\Response */ public function destroy(Ujian $ujian) { // } public function ujianSiswa() { $selectIdSiswa = Siswa::where('user_id', Auth::user()->user_id)->value('id'); $userIdLog = Siswa::where('user_id', Auth::user()->user_id)->first(); $ujians = Ujian::where('jurusan_id', $userIdLog->jurusan_id)->get(); return view('server-side.ujian.ujian-siswa', compact(['ujians', 'selectIdSiswa'])); } public function mulaiUjian($ujian_id) { $ujian = Ujian::join('jurusans', 'ujians.jurusan_id', '=', 'jurusans.id_jurusan')->select('*')->where('ujian_id', $ujian_id)->first(); return view('server-side.ujian.mulai-ujian', compact(['ujian'])); } public function selesaiUjian(Request $request) { $request->validate([ 'file' => 'required|file|mimes:zip,rar|max:2048', ]); $file = $request->file('file'); $fileName = time() . '_' . $file->getClientOriginalName(); $file->move(public_path('jawaban'), $fileName); $selectIdSiswa = Siswa::where('user_id', Auth::user()->user_id)->first(); $statusPengumpulan = ''; $selectUjian = Ujian::where('ujian_id', $request->ujian_id)->first(); $tanggalMulaiUjian = $selectUjian->tanggal_mulai; $tanggalSelesaiUjian = $selectUjian->tanggal_berakhir; $jamMulaiUjian = $selectUjian->jam_mulai; $jamSelesaiUjian = $selectUjian->jam_berakhir; $dateTimeMulaiUjian = new DateTime($tanggalMulaiUjian . ' ' . $jamMulaiUjian); $dateTimeSelesaiUjian = new DateTime($tanggalSelesaiUjian . ' ' . $jamSelesaiUjian); $currentTime = new DateTime(); if ($currentTime >= $dateTimeMulaiUjian && $currentTime <= $dateTimeSelesaiUjian) { $statusPengumpulan = 'Tepat Waktu'; } else { $statusPengumpulan = 'Telat Mengumpulkan'; } $jawaban = new Jawaban(); $jawaban->siswa_id = $selectIdSiswa->id; $jawaban->file = $fileName; $jawaban->ujian_id = $request->ujian_id; $jawaban->status = true; $jawaban->status_pengumpulan = $statusPengumpulan; $jawaban->save(); return redirect()->route('daftar.ujian')->with('success', 'Berhasil mengumpulkan jawaban'); } }