Student Decisions — All Students
= $this->include('partials/academic_filter') ?>
= esc(ucfirst($semester ?? '')) ?> • = esc($schoolYear ?? '') ?>
Saved
Not yet generated
getFlashdata('status'))): ?>
= esc(session()->getFlashdata('status')) ?>
getFlashdata('error'))): ?>
= esc(session()->getFlashdata('error')) ?>
No semester scores found for this selection.
'success',
'Repeat Class' => 'danger',
'Make-up exam in fall' => 'info',
'Deferred decision' => 'info',
'Expel' => 'danger',
'Withdrawn' => 'secondary',
];
$sourceBadge = [
'auto' => ['bg-success-subtle text-success-emphasis', 'Auto'],
'manual' => ['bg-primary-subtle text-primary-emphasis', 'Manual'],
'pending' => ['bg-warning-subtle text-warning-emphasis', 'Pending'],
];
// Stats
$stats = ['Pass' => 0, 'Other' => 0, 'Pending' => 0];
foreach ($rows as $r) {
if ($r['decision'] === 'Pass') $stats['Pass']++;
elseif ($r['decision'] === '' || $r['source'] === 'pending') $stats['Pending']++;
else $stats['Other']++;
}
?>
= $stats['Other'] ?>
Other decision
= $stats['Pending'] ?>
Pending
| Student Name |
Section |
Score |
Decision |
Source |
Notes |
| = esc($studentName ?: 'N/A') ?> |
= esc($row['class_section_name'] ?? '—') ?> |
= $scoreVal !== null ? esc(number_format($scoreVal, 2)) : '—' ?>
|
= esc($decision) ?>
= esc($decision) ?>
—
|
= esc($srcLabel) ?>
|
= nl2br(esc((string)($row['notes'] ?? ''))) ?> |
$color): ?>
= esc($label) ?>
— decision colour key