From ca06563b1c8a76027dacf9d56cca5663c36dc582 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Sun, 9 Feb 2025 19:06:42 -0600 Subject: [PATCH] Seating nomination ensembles is working. --- .../ScobdaNominationSeatingController.php | 17 ++++++++++++++- .../scobda/admin/seating/index.blade.php | 21 +++++++++++++++++-- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/NominationEnsembles/ScobdaNominationSeatingController.php b/app/Http/Controllers/NominationEnsembles/ScobdaNominationSeatingController.php index 4cfd8a1..f87bd87 100644 --- a/app/Http/Controllers/NominationEnsembles/ScobdaNominationSeatingController.php +++ b/app/Http/Controllers/NominationEnsembles/ScobdaNominationSeatingController.php @@ -6,6 +6,8 @@ use App\Http\Controllers\Controller; use App\Models\NominationEnsemble; use App\Models\NominationEnsembleEntry; +use function dd; + class ScobdaNominationSeatingController extends Controller implements NominationSeatingController { public function index() @@ -19,8 +21,15 @@ class ScobdaNominationSeatingController extends Controller implements Nomination public function show(NominationEnsemble $ensemble) { $ensembles = NominationEnsemble::all(); + $acceptedNominations = NominationEnsembleEntry::where('nomination_ensemble_id', $ensemble->id) + ->where('data->accepted', true) + ->orderByRaw('CAST(data->"$.rank" AS UNSIGNED)') + ->get(); + $acceptedNominations = $acceptedNominations->groupBy(function ($item) { + return $item->data['instrument']; + }); - return view('nomination_ensembles.scobda.admin.seating.index', compact('ensembles', 'ensemble')); + return view('nomination_ensembles.scobda.admin.seating.index', compact('ensembles', 'ensemble', 'acceptedNominations')); } @@ -56,6 +65,12 @@ class ScobdaNominationSeatingController extends Controller implements Nomination } } + foreach ($acceptedNominations as $nomination) { + $data = $nomination->data; + $data['accepted'] = true; + $nomination->update(['data' => $data]); + } + dd($acceptedNominations); } } diff --git a/resources/views/nomination_ensembles/scobda/admin/seating/index.blade.php b/resources/views/nomination_ensembles/scobda/admin/seating/index.blade.php index fb2e0a5..d0d1099 100644 --- a/resources/views/nomination_ensembles/scobda/admin/seating/index.blade.php +++ b/resources/views/nomination_ensembles/scobda/admin/seating/index.blade.php @@ -23,12 +23,29 @@ {{ $ensemble->name }} - + Seat Ensemble - + + @foreach($ensemble->data['instruments'] as $instrument) + @php($seatOn = 1) + @continue(! $acceptedNominations->has($instrument)) + + {{ $instrument }} + + @foreach($acceptedNominations[$instrument] as $nom) + + {{ $seatOn }} + {{ $nom->student->full_name() }} + {{ $nom->student->school->name }} + + @php($seatOn++) + @endforeach + @endforeach + @endif