@vite(['resources/css/app.css', 'resources/js/app.js']) @include('admin.partials.nav')

Programmes

Edit programme

Update shared details for this programme. Individual runs and dates are managed under Courses.

โ† Back to programmes
@if ($errors->any())
@endif
@csrf @method('PUT') @include('admin.programmes.form-fields', ['programme' => $programme])
is_active) ? 'checked' : '' }} >
@if ($programme->runs->isNotEmpty())

Runs / series for this programme

Each row below represents a scheduled run (dates and venue) that learners can register for.

+ Add new run (via Courses)
@foreach ($programme->runs as $run) @endforeach
Dates Venue / mode Price Registrations / seats Status Actions
@if ($run->start_date) {{ $run->start_date->format('d M Y') }} @if ($run->end_date && $run->end_date->isAfter($run->start_date)) โ€“ {{ $run->end_date->format('d M Y') }} @endif @else Dates TBC @endif @php $venue = $run->location ?? $programme->default_location; $mode = $run->delivery_mode ?? $programme->default_delivery_mode; @endphp @if ($venue)
{{ $venue }}
@endif @if ($mode)
{{ $mode }}
@endif
@php $price = $run->price ?? $programme->default_price; @endphp @if (! is_null($price)) RM {{ number_format($price, 2) }} @else โ€“ @endif @php $totalRegistrations = (int) ($run->total_registrations_count ?? 0); $paidRegistrations = (int) ($run->paid_registrations_count ?? 0); $paidParticipants = (int) ($run->paid_participants_sum ?? 0); $seatCapacity = $run->seat_capacity; @endphp @if ($seatCapacity !== null)
Paid: {{ $paidParticipants }} of {{ $seatCapacity }} seats
{{ max($seatCapacity - $paidParticipants, 0) }} seats remaining
@elseif ($paidParticipants > 0)
{{ $paidParticipants }} paid participant{{ $paidParticipants === 1 ? '' : 's' }}
@else
No paid participants yet
@endif @if ($totalRegistrations > 0)
{{ $paidRegistrations }} paid / {{ $totalRegistrations }} registrations
@endif
@if ($run->is_active) Active @else Hidden @endif
Edit run
@csrf @method('DELETE')
@endif
@include('admin.partials.footer')