diff --git a/app/Http/Controllers/FinishUjianController.php b/app/Http/Controllers/FinishUjianController.php index 8d729fa..dd954ec 100644 --- a/app/Http/Controllers/FinishUjianController.php +++ b/app/Http/Controllers/FinishUjianController.php @@ -11,6 +11,39 @@ class FinishUjianController extends Controller { + public function getNotAnswered(Request $request) { + $data_session = TestSessionsModel::where('id_test_sessions', $request->id_test_sessions)->first(); + if($data_session != null) { + if($data_session->status_session == '0') { + return response()->json([ + 'status' => false, + 'message' => 'Data sesi tes dinonaktifkan. Silahkan cek status dengan kode untuk informasi lebih lanjut.' + ]); + } else if($data_session->status_session == '2') { + $soal = DataSoalModel::all(); + $data_ujian = []; + foreach($soal as $detail) { + $data_soal = DetailTestModel::where('id_soal', $detail->id_soal)->where('id_test_sessions', $request->id_test_sessions)->first(); + if($data_soal == null) { + $data_ujian[] = [ + 'id_soal' => $detail->id_soal, + 'soal' => $detail->pertanyaan, + ]; + } + } + return response()->json([ + 'status' => true, + 'data' => $data_ujian + ]); + } + } else { + return response()->json([ + 'status' => false, + 'message' => 'Data sesi tes tidak ditemukan.' + ]); + } + } + public function getAllAnswer(Request $request) { $data_session = TestSessionsModel::where('id_test_sessions', $request->id_test_sessions)->first(); if($data_session != null) { @@ -80,6 +113,7 @@ public function index(Request $request) $data_booking = BookingModel::where('id_booking', $data_session->id_booking)->first(); $data_information = [ + 'kode' => $data_booking->kode_unik, 'nama' => $data_booking->nama_lengkap, 'email' => $data_booking->email, 'no_hp' => $data_booking->no_telp, @@ -113,10 +147,13 @@ public function index(Request $request) } } $data_aswered = [ + 'total_question' => $question_count, 'answered' => $answered, 'unanswered' => $soalTidakTerjawab, 'totalScore' => $totalScore ]; + + $data_booking = BookingModel::where('id_booking', $data_session->id_booking)->first(); if($data_session->status_session == '0') { return redirect()->route('cek-status.index')->with('error', 'Data sesi tes dinonaktifkan. Silahkan cek status dengan kode untuk informasi lebih lanjut.'); } else if($data_session->status_session == '1') { @@ -124,8 +161,14 @@ public function index(Request $request) 'status_session' => '2', 'is_active' => '0' ]); + $data_booking->update([ + 'status_tes' => '2' + ]); return view('user.pages.finish_ujian.index', compact('id_session', 'difference', 'data_information', 'screen_dim', 'data_aswered')); } else if($data_session->status_session == '2') { + $data_booking->update([ + 'status_tes' => '2' + ]); return view('user.pages.finish_ujian.index', compact('id_session', 'difference', 'data_information', 'screen_dim', 'data_aswered')); } } else { diff --git a/resources/views/user/pages/cek_status/index.blade.php b/resources/views/user/pages/cek_status/index.blade.php index d9985dd..f1358f1 100644 --- a/resources/views/user/pages/cek_status/index.blade.php +++ b/resources/views/user/pages/cek_status/index.blade.php @@ -198,9 +198,22 @@ function searchUserStatus() { $('#result_test_form').show(); } } else if(response.status_data == 2) { + let test_session = getTestSession(response.id_booking); + $('#alert_status').removeClass(); $('#alert_status').addClass('alert alert-success'); $('#alert_status').html('Kamu sudah melakukan tes, dan bisa cek hasil dengan tombol dibawah'); + + $('#result_test_status').html('Selesai'); + $('#result_test_status').removeClass(); + $('#result_test_status').addClass('fw-bold text-white bg-success p-2 rounded-pill'); + let test_url = '{{ route('hasil-tes.index', ['id_test_sessions' => '__ID_TEST_SESSIONS__']) }}'; + $('#result_test_form').hide(); + $('#result_test_link').show(); + $('#result_test_link').html('Tes Sudah Selesai, Klik untuk melihat hasil'); + $('#result_test_link').attr('href', test_url.replace('__ID_TEST_SESSIONS__', test_session.id_test_sessions)); + + $('#result_test').show(); } } else { Swal.fire({ diff --git a/resources/views/user/pages/finish_ujian/index.blade.php b/resources/views/user/pages/finish_ujian/index.blade.php index bea9095..ef06004 100644 --- a/resources/views/user/pages/finish_ujian/index.blade.php +++ b/resources/views/user/pages/finish_ujian/index.blade.php @@ -35,7 +35,7 @@