From e2954898e9b5359195c9fa3c1f4a189b9888ea6f Mon Sep 17 00:00:00 2001 From: Mahayoga Date: Sat, 23 May 2026 15:55:58 +0700 Subject: [PATCH] WIP: Halaman data hasil kecemasan --- app/Http/Controllers/BookingController.php | 2 +- app/Http/Controllers/DataSoalController.php | 2 +- .../Controllers/FinishUjianController.php | 5 + app/Http/Controllers/HasilTesController.php | 56 +++++- .../data_hasil_kecemasan/index.blade.php | 185 +++++++++++++++--- routes/web.php | 3 +- 6 files changed, 226 insertions(+), 27 deletions(-) diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 687fc49..7974427 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -38,7 +38,7 @@ public function getchData() { } } - $data = BookingModel::get(); + $data = BookingModel::orderBy('updated_at', 'desc')->get(); return response()->json([ 'status' => true, diff --git a/app/Http/Controllers/DataSoalController.php b/app/Http/Controllers/DataSoalController.php index 6dfb963..a28567b 100644 --- a/app/Http/Controllers/DataSoalController.php +++ b/app/Http/Controllers/DataSoalController.php @@ -14,7 +14,7 @@ class DataSoalController extends Controller public function getData() { $data = DataSoalModel::get(); return response()->json([ - 'status' => true, + 'status' => true, 'data' => $data->toArray() ]); } diff --git a/app/Http/Controllers/FinishUjianController.php b/app/Http/Controllers/FinishUjianController.php index 7eb5ec1..7bae8b3 100644 --- a/app/Http/Controllers/FinishUjianController.php +++ b/app/Http/Controllers/FinishUjianController.php @@ -131,6 +131,11 @@ public function index(Request $request) $difference = gmdate("i:s", $end - $start); $data_booking = BookingModel::where('id_booking', $data_session->id_booking)->first(); + if($data_booking != null) { + if($data_booking->status_tes == '0') { + return redirect()->route('cek-status.index')->with('error', 'Data sesi tes tidak ditemukan atau telah dinonaktifkan.'); + } + } $data_information = [ 'kode' => $data_booking->kode_unik, 'nama' => $data_booking->nama_lengkap, diff --git a/app/Http/Controllers/HasilTesController.php b/app/Http/Controllers/HasilTesController.php index ff06b7e..e7b5cea 100644 --- a/app/Http/Controllers/HasilTesController.php +++ b/app/Http/Controllers/HasilTesController.php @@ -2,10 +2,34 @@ namespace App\Http\Controllers; +use App\Models\BookingModel; +use App\Models\TestSessionsModel; use Illuminate\Http\Request; class HasilTesController extends Controller { + public function fetchData() { + $data_booking = BookingModel::orderBy('updated_at', 'desc')->get(); + $result = []; + foreach($data_booking as $booking) { + $data_test = TestSessionsModel::where('id_booking', $booking->id_booking)->first(); + if($data_test != null) { + $result[] = [ + 'id_test_session' => $data_test->id_test_sessions, + 'nama_lengkap' => $booking->nama_lengkap, + 'tgl_tes' => $data_test->created_at->format('d-m-Y'), + 'jam_tes' => $data_test->created_at->format('H:i'), + 'kode_booking' => $booking->kode_unik, + 'status_tes' => $booking->status_tes + ]; + } + } + + return response()->json([ + 'status' => true, + 'data' => $result + ]); + } /** * Display a listing of the resource. */ @@ -35,7 +59,20 @@ public function store(Request $request) */ public function show(string $id) { - // + $data = TestSessionsModel::where('id_test_sessions', $id)->first(); + + if($data != null) { + $data_booking = BookingModel::where('id_booking', $data->id_booking)->first(); + return response()->json([ + 'status' => true, + 'nama' => $data_booking->nama_lengkap + ]); + } + + return response()->json([ + 'status' => false, + 'msg' => 'Data tidak ditemukan!' + ]); } /** @@ -59,6 +96,21 @@ public function update(Request $request, string $id) */ public function destroy(string $id) { - // + $data = TestSessionsModel::where('id_test_sessions', $id)->first(); + if($data != null) { + $data_booking = BookingModel::where('id_booking', $data->id_booking)->first(); + $data_booking->update([ + 'status_tes' => '0' + ]); + return response()->json([ + 'status' => true, + 'msg' => 'Data berhasil dinonaktifkan' + ]); + } + + return response()->json([ + 'status' => false, + 'msg' => 'Data tidak ditemukan!' + ]); } } diff --git a/resources/views/admin/pages/data_hasil_kecemasan/index.blade.php b/resources/views/admin/pages/data_hasil_kecemasan/index.blade.php index dda84c6..03853a4 100644 --- a/resources/views/admin/pages/data_hasil_kecemasan/index.blade.php +++ b/resources/views/admin/pages/data_hasil_kecemasan/index.blade.php @@ -41,30 +41,13 @@ No - Dummy - Dummy - Dummy + Nama + Kode Unik + Tgl dan Jam Ujian + Status Data Aksi - - - 1 - lorem - lorem - lorem - -
- - -
- - - @@ -72,10 +55,168 @@ + + + + + {{-- + --}} @endsection @section('script') @endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 57b2195..20f6530 100644 --- a/routes/web.php +++ b/routes/web.php @@ -36,7 +36,7 @@ Route::resource('cek-status', CekStatusController::class)->only(['index', 'show']); Route::resource('tutorial-tes', TutorialTesController::class)->only(['index']); Route::resource('test-sessions', TestSessionsController::class)->only(['store', 'show']); - Route::get('test-sessions/get/screen', [TestSessionsController::class, 'getScreen'])->name('test-sessions.getScreen');; + Route::get('test-sessions/get/screen', [TestSessionsController::class, 'getScreen'])->name('test-sessions.getScreen'); Route::resource('tobii-receiver', TobiiReceiverController::class)->only(['store', 'show']); Route::get('tobii-receiver/fetch/data/{id_test_sessions}', [TobiiReceiverController::class, 'fetchDataTobii'])->name('tobii-receiver.fetchData'); Route::resource('ujian', HalamanUjianController::class); @@ -56,6 +56,7 @@ Route::resource('soal', DataSoalController::class); Route::get('soal/fetch/data', [DataSoalController::class, 'getData'])->name('soal.fetchData'); Route::resource('hasil_tes', HasilTesController::class); + Route::get('hasil_tes/fetch/data', [HasilTesController::class, 'fetchData'])->name('hasil-tes.fetchData'); }); Route::get('email/test', function(Request $req) {