From 8f41af74f9f856ef291e4eafd6f6ef231b349e59 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Thu, 11 Sep 2025 17:59:37 -0500 Subject: [PATCH] Fix issue where directors could add students down to first grade if no nomination ensembles were defined. --- app/helpers.php | 22 ++++++++++++++++++++++ resources/views/students/index.blade.php | 4 ++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/app/helpers.php b/app/helpers.php index 47d3e56..bb96421 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -2,8 +2,10 @@ use App\Actions\Tabulation\EnterScore; use App\Exceptions\ScoreEntryException; +use App\Models\Audition; use App\Models\AuditLogEntry; use App\Models\Entry; +use App\Models\NominationEnsemble; use App\Models\User; use App\Settings; use Illuminate\Support\Facades\App; @@ -58,3 +60,23 @@ function enterScore(User $user, Entry $entry, array $scores): \App\Models\ScoreS return $scoreEntry($user, $entry, $scores); } + +function minimumStudentGrade() +{ + $minAuditionGrade = Audition::min('minimum_grade'); + if (auditionSetting('nomination_ensemble_rules') == 'disabled' || NominationEnsemble::count() == 0) { + return $minAuditionGrade; + } + + return min(Audition::min('minimum_grade'), NominationEnsemble::min('minimum_grade')); +} + +function maximumStudentGrade() +{ + $maxAuditionGrade = Audition::max('maximum_grade'); + if (auditionSetting('nomination_ensemble_rules') == 'disabled' || NominationEnsemble::count() == 0) { + return $maxAuditionGrade; + } + + return max(Audition::max('maximum_grade'), NominationEnsemble::max('maximum_grade')); +} diff --git a/resources/views/students/index.blade.php b/resources/views/students/index.blade.php index 5b9bd5f..5ddf451 100644 --- a/resources/views/students/index.blade.php +++ b/resources/views/students/index.blade.php @@ -13,8 +13,8 @@ Grade - @php($n = min(Audition::min('minimum_grade'),NominationEnsemble::min('minimum_grade'))) - @php($maxGrade = max(Audition::max('maximum_grade'), NominationEnsemble::max('maximum_grade'))) + @php($n = minimumStudentGrade()) + @php($maxGrade = maximumStudentGrade()) @while($n <= $maxGrade) @php($n++);