Files
lms-v2/app/Http/Controllers/Cbt/ExamSessionController.php
2026-05-30 22:15:16 +07:00

34 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers\Cbt;
use App\Http\Controllers\Controller;
use App\Models\Exam;
use App\Models\ExamResult;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class ExamSessionController extends Controller
{
/**
* Menampilkan halaman persiapan/ruang ujian
*/
public function show(Exam $exam)
{
$user = Auth::user();
// 1. Validasi: Cek apakah user sudah pernah lulus ujian ini
$existingResult = ExamResult::where('user_id', $user->id)
->where('exam_id', $exam->id)
->orderBy('created_at', 'desc')
->first();
if ($existingResult && $existingResult->is_passed) {
return redirect()->route('cbt.dashboard')
->with('error', 'Anda sudah pernah lulus ujian ini. Tidak perlu mengulang.');
}
// 2. Jika aman, arahkan ke View Ruang Ujian yang memuat komponen Livewire
return view('pages.cbt.exam-room', compact('exam'));
}
}