Fix issue where directors could add students down to first grade if no nomination ensembles were defined.

This commit is contained in:
Matt Young 2025-09-11 17:59:37 -05:00
parent 1953eedb0b
commit 8f41af74f9
2 changed files with 24 additions and 2 deletions

View File

@ -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'));
}

View File

@ -13,8 +13,8 @@
<x-form.select name="grade">
<x-slot:label>Grade</x-slot:label>
@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)
<option value="{{ $n }}">{{ $n }}</option>
@php($n++);