@extends('layouts.app') @section('title', 'Select Prisoner') @section('content')

Select Prisoner for Admission

@forelse($prisoners as $key => $prisoner) @php // Check if prisoner has any active admission (not released/discharged) $activeAdmission = $prisoner->admissions() ->whereNull('release_date') ->latest() ->first(); // Check if prisoner has been discharged (completed discharge after last admission) $lastAdmission = $prisoner->admissions()->latest()->first(); $isDischarged = false; if ($lastAdmission) { $dischargeAfterLastAdmission = \App\Models\Discharge::where('prisoner_id', $prisoner->id) ->where('status', 'completed') ->where('discharge_date', '>=', $lastAdmission->admission_date) ->exists(); $isDischarged = $dischargeAfterLastAdmission; } $canBeAdmitted = !$activeAdmission; $statusText = $canBeAdmitted ? ($isDischarged ? 'Previously Discharged' : 'New Prisoner') : 'Currently Incarcerated'; $statusBadge = $canBeAdmitted ? ($isDischarged ? 'warning' : 'success') : 'danger'; @endphp @empty @endforelse
# Prisoner Number Name Case Current Status Action
{{ $key + 1 }} {{ $prisoner->prisoner_number }} {{ $prisoner->name }} {{ $prisoner->case_number }} {{ $statusText }} @if($activeAdmission)
Admitted: {{ $activeAdmission->admission_date ? \Carbon\Carbon::parse($activeAdmission->admission_date)->format('d-m-Y') : 'N/A' }}
Block: {{ $activeAdmission->cell_block ?? 'N/A' }}
@endif
@php $isCurrentlyIncarcerated = $prisoner->isCurrentlyIncarcerated(); $canBeAdmitted = !$isCurrentlyIncarcerated; @endphp @if($canBeAdmitted) @can('prison.admission.add') Admit @endcan @else @endif
No prisoners found.
{{-- Pagination --}}
{{ $prisoners->links() }}
@endsection