{{-- Supervision Summary (CSO analysis 18 & 20): CS 1–CS 7 / PR forms, breaches, warrants, assessments, tools and other documents in one place --}} @php $allTypes = config('probation.report_types') + config('probation.report_types_supervision', []); $formCodes = ['cs1', 'cs2', 'cs3', 'cs4', 'cs5', 'cs6', 'cs7', 'csb', 'csc', 'csd', 'cse', 'pr9', 'summary_progress', 'cso_monthly_progress', 'progress']; $forms = $case->reports->filter(fn ($r) => in_array($r->report_type, $formCodes, true))->sortBy('report_type'); $otherReports = $case->reports->reject(fn ($r) => in_array($r->report_type, $formCodes, true)); $docTypes = \App\Http\Controllers\ProbationAssessmentController::documentTypes(); $notes = $case->supervisionOrders->flatMap->notes; $lastNote = $notes->sortByDesc('reported_on')->first(); $first = $case->supervisionOrders->sortBy('start_date')->first(); $last = $case->supervisionOrders->sortByDesc('id')->first(); $risk = $case->assessments->sortByDesc('id')->first(); @endphp
| Item | Details |
|---|---|
| CS / PR forms & progress reports |
@forelse($forms as $r)
{{ $allTypes[$r->report_type] ?? $r->report_type }}
· {{ $r->created_at->format('d M Y') }} · {{ $r->status }}
@emptyNone yet — start them in the Reports tab.@endforelse |
| Other reports |
@forelse($otherReports as $r) {{ $allTypes[$r->report_type] ?? $r->report_type }} · {{ $r->created_at->format('d M Y') }} · {{ $r->status }}
@empty—@endforelse |
| Breaches & warrants |
@forelse($case->breaches->sortByDesc('reported_on') as $b)
{{ optional($b->reported_on)->format('d M Y') }} — {{ $b->description }} · {{ ucwords(str_replace('_', ' ', $b->action ?? 'under review')) }}
@if($b->warrant_applied_on) · warrant applied {{ $b->warrant_applied_on->format('d M Y') }}@endif
@if($b->warrant_file_path) · warrant@endif
@emptyNone@endforelse |
| Assessments & tools |
@forelse($case->assessments->sortByDesc('id') as $a)
{{ $a->tool }} · {{ optional($a->assessed_on)->format('d M Y') }} · {{ $a->risk_level ?? 'not classified' }}
@emptyNone@endforelse
@if($case->treatmentPlan->count())Treatment plan (Tool C): {{ $case->treatmentPlan->count() }} area(s) @endif |
| Empowerment & tools issued |
@forelse($case->empowerments as $e)
{{ config('probation_workflow.empowerment_types')[$e->type] ?? $e->type }} — {{ $e->description }} ({{ $e->status }})
@emptyNone@endforelse |
| Case conferences |
@forelse($case->conferences as $cf)
{{ config('probation_workflow.conference_kinds')[$cf->kind ?? 'case_conference'] ?? 'Case conference' }} · {{ optional($cf->scheduled_for)->format('d M Y') }} · {{ $cf->status }}
@if($cf->minutes_file_path) · minutes@endif
@emptyNone@endforelse |
| Other documents |
@forelse($case->documents as $d)
{{ $docTypes[$d->doc_type] ?? $d->doc_type }} · {{ optional($d->captured_on ?? $d->created_at)->format('d M Y') }}
@emptyNone@endforelse |