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

Filter requests by student, program or academy name, status, and request date.

Reset
Student Requests

Accept or reject pending certificates requests directly from the table below.

@foreach ($student_requests as $index => $hardCopyRequest) @php $course = $hardCopyRequest->staffScheduled; $student = $hardCopyRequest->student; $studentName = $student?->full_name ?: trim(($student?->first_name ?? '') . ' ' . ($student?->last_name ?? '')); $programName = $course?->schedule_type === 'track' ? $course?->track?->name_en : ($course?->academyProduct?->name_en ?? $course?->course_name_en); $canBookWestminsterDemo = $hardCopyRequest->certificate_type === 'westminster' && ! $hardCopyRequest->demo_staff_scheduled_id; $statusKey = match ($hardCopyRequest->status) { 'accepted' => 'success', 'rejected' => 'warn', default => 'neutral', }; @endphp {{ method_exists($student_requests, 'firstItem') ? $student_requests->firstItem() + $index : $index + 1 }} {{ $studentName ?: '-' }} {{ $programName ?? '-' }} {{ $course?->trackLevel?->name_en ?? '-' }} {{ ucfirst($hardCopyRequest->delivery_type ?? '-') }} @if ($hardCopyRequest->delivery_type === 'hard' && $hardCopyRequest->shipping_address) {{ $hardCopyRequest->shipping_address }} @else - @endif {{ ucfirst($hardCopyRequest->status) }} {{ $hardCopyRequest->created_at ? \Carbon\Carbon::parse($hardCopyRequest->created_at)->format('Y-m-d h:i A') : '-' }}
@if ($canBookWestminsterDemo) Book Demo @endif @if ($hardCopyRequest->status === 'pending')
@csrf @method('PUT')
@else {{ ucfirst($hardCopyRequest->status) }} @endif
@endforeach
@foreach ($student_requests as $hardCopyRequest) @php $course = $hardCopyRequest->staffScheduled; $student = $hardCopyRequest->student; $invoice = $hardCopyRequest->invoice; $demoSchedule = $hardCopyRequest->demoSchedule; $demoSession = $demoSchedule?->scheduledSessions?->first(); $studentName = $student?->full_name ?: trim(($student?->first_name ?? '') . ' ' . ($student?->last_name ?? '')); $programName = $course?->schedule_type === 'track' ? $course?->track?->name_en : ($course?->academyProduct?->name_en ?? $course?->course_name_en); $shouldShowRequestContactDetails = $hardCopyRequest->certificate_type === 'pearson'; $shouldShowWestminsterDemo = $hardCopyRequest->certificate_type === 'westminster'; $isSoftCertificateRequest = $hardCopyRequest->delivery_type === 'soft'; $isHardCertificateRequest = $hardCopyRequest->delivery_type === 'hard'; $certificatePrice = (float) ($hardCopyRequest->certificate_price ?? $hardCopyRequest->paymentConfiguration?->price ?? 0); $shouldShowPaymentDetails = $certificatePrice > 0; $teacherName = trim(($course?->staff?->first_name ?? '') . ' ' . ($course?->staff?->last_name ?? '')); $managerName = trim(($course?->staff?->manager?->first_name ?? '') . ' ' . ($course?->staff?->manager?->last_name ?? '')); $demoTesterName = trim(($demoSchedule?->staff?->first_name ?? '') . ' ' . ($demoSchedule?->staff?->last_name ?? '')); $demoTeacherFeedback = $demoSchedule?->teacherFeedback ? $demoSchedule->teacherFeedback ->where('student_id', $hardCopyRequest->student_id) ->sortByDesc('created_at') ->first() : null; $demoFeedbackResult = strtolower((string) ($demoTeacherFeedback?->result ?? '')); $demoFeedbackResultKey = match ($demoFeedbackResult) { 'pass' => 'success', 'fail' => 'warn', default => 'neutral', }; $demoFeedbackTeacherName = trim(($demoTeacherFeedback?->teacher?->first_name ?? '') . ' ' . ($demoTeacherFeedback?->teacher?->last_name ?? '')); $courseAdminNames = $course?->courseAdmins?->map(function ($assignment) { if ($assignment->admin?->staff) { return trim(($assignment->admin->staff->first_name ?? '') . ' ' . ($assignment->admin->staff->last_name ?? '')); } return $assignment->admin?->full_name; })->filter()->unique()->join(', '); $secondaryAdminNames = $course?->secondaryAdmins?->map(function ($admin) { if ($admin->staff) { return trim(($admin->staff->first_name ?? '') . ' ' . ($admin->staff->last_name ?? '')); } return $admin->full_name; })->filter()->unique()->join(', '); $receipt = $invoice?->getRawOriginal('invoice_img') ?: $invoice?->invoice_img; if (is_string($receipt)) { $decodedReceipt = json_decode($receipt, true); if (json_last_error() === JSON_ERROR_NONE) { $receipt = $decodedReceipt; } } if (is_array($receipt)) { $receipt = collect($receipt)->flatten()->filter()->first(); } @endphp @endforeach
@endsection @push('styles') @endpush