@extends('layouts.portal') @section('title', 'Exams') @section('subtitle', 'Proctored certification assessments, their question banks and results.') @section('actions') New exam @endsection @section('content') @php $live = $exams->where('published', true)->count(); $rated = $exams->whereNotNull('pass_rate'); $avgRate = $rated->count() ? round($rated->avg('pass_rate')) : null; $lowBank = $exams->filter(fn ($e) => $e->active_questions_count < $e->question_count)->count(); @endphp
Exams{{ $exams->count() }}{{ $live }} published
Questions in banks{{ number_format($exams->sum('questions_count')) }}{{ number_format($exams->sum('active_questions_count')) }} active
Completed attempts{{ number_format($exams->sum('finished')) }}{{ $avgRate !== null ? 'Average pass rate '.$avgRate.'%' : 'No attempts yet' }}
Banks needing questions{{ $lowBank }}Fewer active questions than the draw size
@forelse($exams as $e) @php $short = $e->active_questions_count < $e->question_count; @endphp @empty @endforelse
ExamCourseQuestionsFormatResultsBadgeStatus
{{ $e->title }} {{ $e->code }} @if($e->course){{ \Illuminate\Support\Str::limit($e->course->title, 34) }}@elseNot linked@endif {{ $e->active_questions_count }} / {{ $e->questions_count }} draws {{ $e->question_count }}@if($short) · bank too small@endif {{ $e->duration_minutes }} min · pass {{ $e->pass_percent }}% {{ $e->max_attempts ? $e->max_attempts.' attempts' : 'Unlimited attempts' }} · {{ ucfirst($e->proctor_level) }} proctoring @if($e->finished)
{{ $e->pass_rate }}% pass{{ $e->finished }} {{ \Illuminate\Support\Str::plural('attempt', $e->finished) }}
@else No attempts yet @endif
@if($e->badge) Linked@elseNone@endif Manage
Create the first exam

“Draws” is the number of questions picked at random from the active bank for each attempt. Only published exams are visible to learners.

@endsection