@extends('layout.layout') @section('content') @include('components.alert')
Exam Filters

Control how many exams appear and search by exam information.

@if (request('search') || request('per_page')) Reset @endif
Exam Records

Exam title, availability, teacher, admin, result, submission date, and available actions.

@if(isset($ieltsExamGroups) && $ieltsExamGroups->isNotEmpty())
@foreach($ieltsExamGroups as $group)
{{ $group['track_name'] }}
@if($group['level_name'])
{{ $group['level_name'] }}
@endif
@foreach(['initial' => 'Initial Exam', 'final' => 'Final Exam'] as $type => $label)
{{ $label }}
@forelse($group[$type] as $exam) @php $submission = $exam->examSubmissions; $availableFrom = $exam->available_from ? \Carbon\Carbon::parse($exam->available_from) : null; $availableUntil = $exam->available_until ? \Carbon\Carbon::parse($exam->available_until) : null; $attemptInProgress = $exam->attempts->isNotEmpty() && $exam->attempts->first()->status === 'in_progress'; $canStartExam = ! $exam->has_submission && ! $exam->is_upcoming && ! $exam->is_expired && $exam->can_start_now && ! $attemptInProgress; $disabledReason = $exam->has_submission ? 'You already completed this exam.' : ($exam->is_upcoming ? 'This exam is not available yet.' : ($attemptInProgress ? 'This exam is already in progress.' : ($exam->is_expired ? 'This exam assignment has expired.' : (! $exam->can_start_now ? 'This exam is currently closed.' : 'This exam cannot be started right now.')))); @endphp
{{ $exam->title }}
{{ count($exam->questions) }} Questions
Available: {{ $availableFrom?->format('Y-m-d H:i') ?? '-' }} Until: {{ $availableUntil?->format('Y-m-d H:i') ?? 'No day limit' }} @if ($availableFrom && $exam->is_upcoming) Loading... @endif
@if ($exam->has_submission) @if ($submission?->passed) Pass @else Fail @endif @elseif ($exam->is_upcoming) Not Started Yet @elseif ($exam->attempts->isNotEmpty() && $exam->attempts->first()->status === 'in_progress') Already Started @elseif ($exam->is_expired) Expired @elseif (!$exam->can_start_now) Closed @else Available @endif
@if ($exam->has_submission) Feedback @else @can('student') @if ($canStartExam) Start Exam @else @endif @endcan @endif
@empty
No {{ $label }} assigned yet.
@endforelse
@endforeach
@endforeach
@endif
{{ $exams->total() ?? $exams->count() }} Exam(s)
@if(isset($hasMultipleChildren) && $hasMultipleChildren) @endif @forelse ($exams as $exam) @php $submission = $exam->examSubmissions; $teacher = $exam->teacher; $admins = $exam->admins ?? collect(); $availableFrom = $exam->available_from ? \Carbon\Carbon::parse($exam->available_from) : null; $availableUntil = $exam->available_until ? \Carbon\Carbon::parse($exam->available_until) : null; $attemptInProgress = $exam->attempts->isNotEmpty() && $exam->attempts->first()->status === 'in_progress'; $canStartExam = ! $submission && ! $exam->is_upcoming && ! $exam->is_expired && $exam->can_start_now && ! $attemptInProgress; $disabledReason = $submission ? 'You already completed this exam.' : ($exam->is_upcoming ? 'This exam is not available yet.' : ($attemptInProgress ? 'This exam is already in progress.' : ($exam->is_expired ? 'This exam assignment has expired.' : (! $exam->can_start_now ? 'This exam is currently closed.' : 'This exam cannot be started right now.')))); @endphp @if(isset($hasMultipleChildren) && $hasMultipleChildren) @endif {{-- @dd($exam->attempts) --}} {{-- @dd($exam->has_submission,$exam->attempts,$exam->is_expired) --}} @if ($exam->has_submission) @elseif ($exam->is_upcoming) @elseif ($exam->attempts->isNotEmpty() && $exam->attempts->first()->status === 'in_progress') @elseif ($exam->is_expired) @elseif (!$exam->can_start_now) @else @endif @empty @endforelse
IDStudentName Due Date Teacher Admin Result Submitted Date Actions
#{{ $exam->id }} {{ $exam->student_name ?? '-' }}
{{ $exam->title }}
{{ count($exam->questions) }} Question(s)
Available: {{ $availableFrom?->format('Y-m-d') ?? '-' }} {{ $availableFrom?->format('H:i') ?? '' }} Until: {{ $availableUntil?->format('Y-m-d H:i') ?? 'No day limit' }} @if ($availableFrom && $exam->is_upcoming) Loading... @endif
{{ strtoupper(substr($teacher->first_name ?? 'T', 0, 1) . substr($teacher->last_name ?? '', 0, 1)) }}
{{ $teacher->first_name ?? '' }} {{ $teacher->last_name ?? '' }}
@forelse ($admins as $admin) {{ $admin->admin->full_name ?? '' }} @empty - @endforelse
@if ($exam->examSubmissions) @if ($submission->passed) Pass @else Fail @endif @else No Result @endif {{ $exam->examSubmissions->submitted_at }} Feedback Not Started Yet Not Started Yet Already Started Already Started Expired Expired - Start Exam @can('student') @if ($canStartExam) Start Exam @else @endif @endcan
No exams found.

There are no exams matching your current filters.

@if ($exams->hasPages())
{{ $exams->appends(request()->except('page'))->links('pagination::bootstrap-5') }}
@endif
@endsection @push('scripts') @endpush @push('styles') @endpush