diff --git a/app/Observers/EntryObserver.php b/app/Observers/EntryObserver.php index 9133ec6..c40f971 100644 --- a/app/Observers/EntryObserver.php +++ b/app/Observers/EntryObserver.php @@ -6,6 +6,7 @@ use App\Actions\Tabulation\DoublerSync; use App\Models\Audition; use App\Models\Doubler; use App\Models\Entry; +use Illuminate\Support\Facades\Request; use function auditionSetting; @@ -50,9 +51,11 @@ class EntryObserver */ public function updated(Entry $entry): void { - $syncer = app(DoublerSync::class); - // Update doubler table when an entry is updated - $syncer(); + if (Request::route()->getName() !== 'admin.draw.store') { // Don't update doubler table during draw + $syncer = app(DoublerSync::class); + // Update doubler table when an entry is updated + $syncer(); + } // Log entry changes $message = 'Updated Entry #'.$entry->id; 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++);