From 60abd7de0ff50e828bf1ecd824b30784056de664 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Thu, 13 Feb 2025 15:45:56 -0600 Subject: [PATCH] Correct issue blocking nominations when total number of noms was greater than max for one ensemble. --- .../MeobdaNominationEnsembleEntryController.php | 9 ++++----- .../nomination_ensembles/meobda/entries/index.blade.php | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/NominationEnsembles/MeobdaNominationEnsembleEntryController.php b/app/Http/Controllers/NominationEnsembles/MeobdaNominationEnsembleEntryController.php index 85cbedd..b1d9add 100644 --- a/app/Http/Controllers/NominationEnsembles/MeobdaNominationEnsembleEntryController.php +++ b/app/Http/Controllers/NominationEnsembles/MeobdaNominationEnsembleEntryController.php @@ -21,6 +21,7 @@ class MeobdaNominationEnsembleEntryController extends Controller implements Nomi $availableStudents = []; $existingNominations = []; $nominationsAvailable = []; + $past_deadline = []; foreach ($ensembles as $ensemble) { // Get existing nominations @@ -58,14 +59,12 @@ class MeobdaNominationEnsembleEntryController extends Controller implements Nomi } $availableStudents[$ensemble->id] = $students; $nominationsAvailable[$ensemble->id] = $existingNominations[$ensemble->id]->count() < $ensemble->data['max_nominations']; - if ($currentDate > $ensemble->entry_deadline) { - $nominationsAvailable[$ensemble->id] = false; - } + $past_deadline[$ensemble->id] = $currentDate > $ensemble->entry_deadline; } return view('nomination_ensembles.meobda.entries.index', compact('ensembles', 'currentDate', 'availableInstruments', 'availableStudents', 'existingNominations', - 'nominationsAvailable')); + 'nominationsAvailable', 'past_deadline')); } public function show(NominationEnsembleEntry $entry) @@ -118,7 +117,7 @@ class MeobdaNominationEnsembleEntryController extends Controller implements Nomi } // Check that the user's school has nominations available - $existing_nominations = auth()->user()->school->nominations; + $existing_nominations = auth()->user()->school->nominations()->where('nomination_ensemble_id', $validData['ensemble']); if ($existing_nominations->count() >= $ensemble->data['max_nominations']) { return redirect()->route('nomination.entry.index')->with('error', 'You have already used all of your nominations for this ensemble'); diff --git a/resources/views/nomination_ensembles/meobda/entries/index.blade.php b/resources/views/nomination_ensembles/meobda/entries/index.blade.php index cc2d7ce..3c603d3 100644 --- a/resources/views/nomination_ensembles/meobda/entries/index.blade.php +++ b/resources/views/nomination_ensembles/meobda/entries/index.blade.php @@ -27,7 +27,7 @@ {{ $nom->student->grade }} {{ $nom->data['instrument'] }} - @if($nominationsAvailable[$ensemble->id]) + @if(!$past_deadline[$ensemble->id]) - @if($nominationsAvailable[$ensemble->id]) + @if($nominationsAvailable[$ensemble->id] && !$past_deadline[$ensemble->id]) New Entry