From 83ee56717d0ac7e79976825a67ceb010cc6f219c Mon Sep 17 00:00:00 2001 From: Matt Young Date: Sat, 13 Jul 2024 13:17:25 -0500 Subject: [PATCH] Account for entry flags when ranking --- app/Actions/Tabulation/RankAuditionEntries.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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') {