diff --git a/app/Actions/Tabulation/RankAuditionEntries.php b/app/Actions/Tabulation/RankAuditionEntries.php index 32a81e2..83f8b87 100644 --- a/app/Actions/Tabulation/RankAuditionEntries.php +++ b/app/Actions/Tabulation/RankAuditionEntries.php @@ -8,6 +8,7 @@ use App\Exceptions\TabulationException; use App\Models\Audition; use Illuminate\Database\Eloquent\Collection; use Illuminate\Support\Facades\Cache; +use function is_numeric; class RankAuditionEntries { @@ -60,12 +61,25 @@ class RankAuditionEntries $rank = 1; foreach ($entries as $entry) { $entry->rank = $rank; - $rank++; + if ($mode === 'seating') { + if ($entry->hasFlag('declined')) { + $entry->rank = 'Declined'; + } elseif ($entry->hasFlag('no_show')) { + $entry->rank = 'No Show'; + } elseif ($entry->hasFlag('failed_prelim')) { + $entry->rank = 'Failed Prelim'; + } + } + + if (is_numeric($entry->rank)) { + $rank++; + } } return $entries; } + protected function basicValidation($mode, Audition $audition): void { if ($mode !== 'seating' && $mode !== 'advancement') {